news 2026/6/2 23:58:06

C#运算符详细核心总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#运算符详细核心总结

## 一、运算符整体分类
算术、赋值、关系、逻辑、位运算、自增自减、三元运算符。

## 1. 算术运算符 `+ - * / %`
### 知识点
1. `+`:加法 / 字符串拼接;两边有string就变成拼接。
2. `/`:**整数÷整数=整数(舍去小数)**;小数运算才保留小数。
3. `%`:取余(求余数),常用于判断奇偶。

```csharp
using System;
class Test
{
static void Main()
{
int a = 7, b = 2;
Console.WriteLine(a + b); //9
Console.WriteLine(a / b); //3(int相除舍弃小数)
Console.WriteLine(a % b); //1
Console.WriteLine("123"+456);//123456
Console.ReadKey();
}
}
```
输出:
```
9
3
1
123456
```
> 口诀:整型相除去小数,%求余判奇偶,+遇文字变拼接。

## 2. 自增自减 `++ --`(必考难点:前置、后置)
### 规则
- **后置 a++ / a--:先取值运算,后自身+1/-1**
- **前置 ++a / --a:先自身+1/-1,再取值运算**

```csharp
int num = 5;
int res1 = num++; //res1=5,num变成6
int res2 = ++num; //先num=7,res2=7
```
### 例题代码
```csharp
using System;
class Test
{
static void Main()
{
int x = 3;
int y = x++ + ++x;
//x++=3,x变4;++x=5;y=3+5=8
Console.WriteLine(y);
Console.ReadKey();
}
}
```
输出:`8`

## 3. 赋值运算符 `= += -= *= /= %=`
### 知识点
`a += b` 等价 `a = a + b`,其余同理。
```csharp
int a = 10;
a += 5; //a=15
a %= 3; //15%3=0
```

## 4. 关系运算符(比较,结果全是bool:true/false)
`> < >= <= == !=`
- `==` 判断相等,`!=`不等于
> 注意:单个`=`是赋值,两个`==`是比较。

```csharp
Console.WriteLine(5>3); //True
Console.WriteLine(5==2);//False
```

## 5. 逻辑运算符(连接多个条件,结果bool)

什么是逻辑运算?

逻辑运算是基于布尔(真/假、1/0)的基本运算,用于在逻辑表达式中求值。

R语言中的逻辑运算符主要包括以下几种:

&——逻辑与(AND)

|——逻辑或(OR)

!——逻辑非(NOT)

&&——条件逻辑与

||——条件逻辑或

逻辑运算符通俗讲解(就3个:&&、||、!)
一句话:**用来判断多个条件组合成立不成立,结果只有两种:真(true)、假(false)**

## 1. && 并且(同时满足,全真才真)
口诀:**全部条件都对,结果才对;错一个就全错**
例:出门 = 带钥匙 **并且** 带手机
- 钥匙√、手机√ → 能出门(true)
- 钥匙√、手机× → 出不去(false)
- 钥匙×、手机任意 → 出不去(false)

## 2. || 或者(满足一个就真,全假才假)
口诀:**只要一个满足就成立,全都不行才不成立**
例:喝水 = 有矿泉水 **或者** 有白开水
- 有矿泉水√/白开水任意 → 能喝水(true)
- 矿泉水×、白开水× → 没水喝(false)

## 3. ! 取反(反过来,真变假、假变真)
口诀:**颠倒对错**
- !有钱 → 没钱
- !下雨 → 没下雨
true取反= false,false取反= true

# 极简总结
1. **&&:全都要满足**
2. **||:任选一个满足**
3. **!:反过来**

markdown# C# 实操示例,附带运行结果
## 1. && 与(全部为真才true)
```csharp
using System;
class Test
{
static void Main()
{
bool hasKey = true;
bool hasPhone = true;
// 钥匙+手机都带才能出门
bool canGoOut = hasKey && hasPhone;
Console.WriteLine(canGoOut); // True

hasPhone = false;
canGoOut = hasKey && hasPhone;
Console.WriteLine(canGoOut); // False
Console.ReadKey();
}
}
```

## 2. || 或(一个真就true)
```csharp
using System;
class Test
{
static void Main()
{
bool mineralWater = false;
bool plainWater = true;
// 任意一种水就能喝
bool canDrink = mineralWater || plainWater;
Console.WriteLine(canDrink); // True

mineralWater = false;
plainWater = false;
canDrink = mineralWater || plainWater;
Console.WriteLine(canDrink); // False
Console.ReadKey();
}
}
```

## 3. ! 非(取反)
```csharp
using System;
class Test
{
static void Main()
{
bool isRain = true;
bool notRain = !isRain; // 反向
Console.WriteLine(notRain); // False

bool haveMoney = false;
bool noMoney = !haveMoney;
Console.WriteLine(noMoney); // True
Console.ReadKey();
}
}
```

## 混合运算举例
```csharp
// 年龄>18 并且(有身份证 或者 有户口本)
int age = 20;
bool idCard = false;
bool hukou = true;
bool allow = age>18 && (idCard || hukou);
Console.WriteLine(allow); // True
Console.ReadKey();
```

### 运算优先级
`! > && > ||`,先非、再与、最后或。

## 6. 三元运算符 `条件 ? 表达式1 : 表达式2`
### 语法规则
条件为true →执行表达式1;false→执行表达式2。
**等价简单if else**

```csharp
using System;
class Test
{
static void Main()
{
int score = 70;
string res = score >=60 ? "及格":"不及格";
Console.WriteLine(res);
Console.ReadKey();
}
}
```
输出:`及格`

## 7. 运算符优先级(从高→低)
1. 括号`()` > 自增`++` > 乘除取余`* / %` > 加减`+ -` > 比较`><==` > `&&` > `||` > 三元`?:` > 赋值`=`
> 记:**括号永远最高,先乘除后加减,比较完再逻辑**

## 二、高频考点精简背诵
1. int/int 舍弃小数;%用来取余数、奇偶判断。
2. 后置++先用再加,前置++先加再用。
3. &&一假全假、短路;||一真全真、短路。
4. 三元:真左假右。
5. =赋值,==判断相等。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 23:54:18

基于树莓派的智能冰箱物联网系统:从硬件搭建到全栈开发实践

1. 项目概述与核心价值 作为一名长期混迹于硬件开发和物联网领域的爱好者&#xff0c;我经常被问到如何将那些零散的电子模块和代码片段&#xff0c;整合成一个真正有用、能解决实际问题的系统。今天分享的这个“智能冰箱”项目&#xff0c;就是一个绝佳的范例。它源于一个非常…

作者头像 李华
网站建设 2026/6/2 23:54:17

从零设计LM2596S降压模块:开关电源原理、PCB布局与实战调试

1. 项目概述与核心价值最近在折腾一个需要多路供电的嵌入式项目&#xff0c;手头一堆不同电压的模块&#xff0c;从3.3V的MCU到12V的电机驱动&#xff0c;搞得我头大。市面上的成品DC-DC模块虽然方便&#xff0c;但要么尺寸不合适&#xff0c;要么输出参数不理想&#xff0c;想…

作者头像 李华
网站建设 2026/6/2 23:45:08

PHP数据容器化与Kubernetes部署

PHP数据容器化与Kubernetes部署容器化和Kubernetes是现代应用部署的标准方式。PHP应用容器化后可以在K8s上弹性运行。今天说说PHP应用的容器化和K8s部署最佳实践。PHP的Docker镜像构建需要注意几个要点。使用多阶段构建减小镜像体积&#xff0c;配置OPcache提升性能&#xff0c…

作者头像 李华