C#中的运算符

本文介绍了C#中的各种运算符,包括算数运算符、关系运算符、逻辑运算符、位运算、赋值运算符和特殊运算符。详细阐述了它们的用法和特点,如算数运算符中的"+"具有相加和拼接两种功能,关系运算符包括相等、不等、大于、小于等,逻辑运算符包含与、或、非,位运算涉及与、或、非、左移、右移,以及条件运算符(?:)的使用规则。同时还提到了运算符的优先级概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、算数运算符

算数运算符就是简单的+. -. *. /;

唯一特别的是“+”,就是可以代表两个数字是相加也可以做为一个拼接。

2、关系运算符

关系运算符就是比较两个数字或者别的东西之间的大小相等否关系的。

关系运算符相等(==),不相等(!=),大于(>),小于(<),大于等于(>=),小于等于(<=);

3、逻辑运算符

### C# 中赋值运算符的用法与特性 在 C# 中,赋值运算符 (`=`) 是用于将值分配给变量的基本运算符。此外,C# 还支持复合赋值运算符和空合并赋值运算符等扩展形式,这些运算符可以简化代码并提高可读性。 #### 1. 基本赋值运算符 基本赋值运算符用于将右侧表达式的值赋给左侧变量。语法如下: ```csharp variable = value; ``` 例如: ```csharp int x = 10; // 将整数值 10 赋给变量 x string name = "Alice"; // 将字符串 "Alice" 赋给变量 name ``` #### 2. 复合赋值运算符 复合赋值运算符结合了基本运算符和其他二元运算符(如加法、减法等),从而允许在单个操作中完成计算和赋值。常见的复合赋值运算符包括 `+=`, `-=` 等[^4]。以下是一些示例: - **加法赋值 (`+=`)**: ```csharp int a = 5; a += 3; // 等价于 a = a + 3 Console.WriteLine(a); // 输出: 8 ``` - **减法赋值 (`-=`)**: ```csharp int b = 10; b -= 4; // 等价于 b = b - 4 Console.WriteLine(b); // 输出: 6 ``` - **乘法赋值 (`*=`)** 和 **除法赋值 (`/=`)**: ```csharp int c = 6; c *= 2; // 等价于 c = c * 2 Console.WriteLine(c); // 输出: 12 int d = 9; d /= 3; // 等价于 d = d / 3 Console.WriteLine(d); // 输出: 3 ``` #### 3. 空合并赋值运算符 (`??=`) 空合并赋值运算符 (`??=`) 是一种特殊的赋值运算符,用于为可能为 `null` 的变量提供默认值。如果变量当前为 `null`,则将其赋值为右侧的值;否则保持不变[^2]。示例如下: ```csharp string nickname = null; nickname ??= "CoolCoder"; // nickname 当前为 null,因此赋值为 "CoolCoder" Console.WriteLine(nickname); // 输出: CoolCoder string username = "DeveloperDave"; username ??= "Newbie"; // username 不为 null,因此不改变其值 Console.WriteLine(username); // 输出: DeveloperDave ``` #### 4. 注意事项 - 赋值运算符是右结合的,这意味着在多个连续赋值时,会从右向左进行计算。 - 在使用复合赋值运算符时,确保左侧变量的类型与右侧表达式的结果类型兼容。 - 空合并赋值运算符 (`??=`) 仅适用于可为 `null` 的类型(如引用类型或可空值类型)。 #### 示例代码 以下是一个综合示例,展示了不同类型赋值运算符的用法: ```csharp using System; class Program { static void Main() { int number = 5; number += 3; // number = 8 Console.WriteLine("After +=: " + number); number -= 2; // number = 6 Console.WriteLine("After -=: " + number); string? text = null; text ??= "DefaultText"; // text = "DefaultText" Console.WriteLine("After ??=: " + text); int? nullableInt = null; nullableInt ??= 10; // nullableInt = 10 Console.WriteLine("After ??=: " + nullableInt); } } ``` ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值