Skip to content

Commit d59d128

Browse files
committed
doc: update docs/cs.md jaywcjlove#566
1 parent f5ce635 commit d59d128

File tree

1 file changed

+152
-52
lines changed

1 file changed

+152
-52
lines changed

docs/cs.md

+152-52
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,12 @@ var bo = false;
101101
102102
/*
103103
* 多行
104-
* 注释
104+
* 注释 - 用于文档
105105
*/
106106

107-
// TODO:向IDE中的任务列表添加注释(VS、Rider都支持)
108-
107+
// TODO:
108+
// 向IDE中的任务列表添加注释(VS、Rider都支持)
109109
/// XML 单行注释,用于文档
110-
111-
/**
112-
* XML 多行注释,
113-
* 用于文档
114-
*/
115110
```
116111

117112
### 条件判断
@@ -139,6 +134,7 @@ bool[] answers = {true, false};
139134
```
140135

141136
### 循环
137+
<!--rehype:wrap-class=col-span-2-->
142138

143139
```cs
144140
int[] numbers = {1, 2, 3, 4, 5};
@@ -287,9 +283,8 @@ string multiLine = """
287283
Console.WriteLine(multiLine); // => Content begin "Hello World!" /\n<>"" end.
288284
```
289285

290-
### 字符串操作
291-
292-
#### 字符串判空
286+
### 字符串判空
287+
<!--rehype:wrap-class=col-span-2-->
293288

294289
```cs
295290
string name; //空引用
@@ -300,40 +295,42 @@ Console.WriteLine(string.IsNullOrEmpty(name)); //输出 true
300295
Console.WriteLine(string.IsNullOrEmpty(gender)); // 输出 true
301296
```
302297

303-
#### 字符串分割
298+
### 字符串截取
299+
300+
```cs
301+
string Str = "字符串截取";
302+
Str = Str.Substring(2, 1);
303+
Console.WriteLine(Str);
304+
// 输出结果“串”,意为从第二个下标开始截取一位字符
305+
```
306+
307+
### 字符串分割
308+
<!--rehype:wrap-class=col-span-2-->
304309

305310
```cs
306311
string Name = "字A符A串A分A割";
307312
string[] Names=Name.Split(new char[] { 'A' });
308-
//会以A为媒介把字符串分成若干份
313+
// 会以A为媒介把字符串分成若干份
309314
for (int i = 0; i < Names.Length; i++)
310315
{
311316
Console.Write(Names[i]);
312317
}
313318
```
314319

315-
#### 字符串截取
316-
317-
```cs
318-
string Str = "字符串截取";
319-
Str = Str.Substring(2, 1);
320-
Console.WriteLine(Str);
321-
//输出结果“串”,意为从第二个下标开始截取一位字符
322-
```
323-
324-
#### 字符串替换
320+
### 字符串替换
325321

326322
```cs
327323
string Rep = "字符1替换";
328324
Rep = Rep.Replace("1", "");
329325
Console.WriteLine(Rep);
330-
//会把字符中的 “1”替换成“串”
326+
// 会把字符中的 “1”替换成“串”
331327
```
332328

333329
运算符和表达式
334330
--------
335331

336332
### 逻辑运算
333+
<!--rehype:wrap-class=row-span-2-->
337334

338335
```cs
339336
//或运算, 与运算, 非运算
@@ -361,31 +358,15 @@ C# 中的逻辑运算支持可空布尔类型运算. 注意条件逻辑运算不
361358

362359
x | y | x & y | x \| y | x ^ y | ! x
363360
:- | - | --- | --- | --- | --
364-
true | true | true | true | false | false
365-
true | false | false | true | true | false
366-
true | null | null | true | null | false
367-
false | true | false | true | true | true
368-
false | false | false | false | false | true
369-
false | null | false | null | null | true
370-
null | true | null | true | null | null
371-
null | false | false | null | null | null
372-
null | null | null | null | null | null
373-
<!--rehype:className=show-header-->
374-
375-
### 算术运算符
376-
<!--rehype:wrap-class=col-span-1-->
377-
378-
C# 支持下表中的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
379-
380-
| 运算符 | 描述 | 实例 |
381-
| :----- | -------------------------------- | ----------------- |
382-
| + | 把两个操作数相加 | A + B 将得到 30 |
383-
| - | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
384-
| \* | 把两个操作数相乘 | A \* B 将得到 200 |
385-
| / | 分子除以分母 | B / A 将得到 2 |
386-
| % | 取模运算符,整除后的余数 | B % A 将得到 0 |
387-
| ++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
388-
| -- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
361+
<code>true</code> | <code>true</code> | <code>true</code> | <code>true</code> | false | false
362+
<code>true</code> | false | false | <code>true</code> | <code>true</code> | false
363+
<code>true</code> | <pur>null</pur> | <pur>null</pur> | <code>true</code> | <pur>null</pur> | false
364+
false | <code>true</code> | false | <code>true</code> | <code>true</code> | <code>true</code>
365+
false | false | false | false | false | <code>true</code>
366+
false | <pur>null</pur> | false | <pur>null</pur> | <pur>null</pur> | <code>true</code>
367+
<pur>null</pur> | <code>true</code> | <pur>null</pur> | <code>true</code> | <pur>null</pur> | <pur>null</pur>
368+
<pur>null</pur> | false | false | <pur>null</pur> | <pur>null</pur> | <pur>null</pur>
369+
<pur>null</pur> | <pur>null</pur> | <pur>null</pur> | <pur>null</pur> | <pur>null</pur> | <pur>null</pur>
389370
<!--rehype:className=show-header-->
390371

391372
### 关系运算符
@@ -403,10 +384,24 @@ C# 支持下表中的所有关系运算符。假设变量 A 的值为 1,变量
403384
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (A <= B) 为真。 |
404385
<!--rehype:className=show-header-->
405386

406-
### 运算符优先级
407-
<!--rehype:wrap-class=col-span-3-->
387+
### 算术运算符
388+
<!--rehype:wrap-class=col-span-2-->
408389

409-
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。
390+
C# 支持下表中的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
391+
392+
| 运算符 | 描述 | 实例 |
393+
| :----- | -------------------------------- | ----------------- |
394+
| + | 把两个操作数相加 | A + B 将得到 30 |
395+
| - | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
396+
| \* | 把两个操作数相乘 | A \* B 将得到 200 |
397+
| / | 分子除以分母 | B / A 将得到 2 |
398+
| % | 取模运算符,整除后的余数 | B % A 将得到 0 |
399+
| ++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
400+
| -- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
401+
<!--rehype:className=show-header-->
402+
403+
### 运算符优先级
404+
<!--rehype:wrap-class=col-span-2 row-span-3-->
410405

411406
下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
412407

@@ -429,6 +424,111 @@ C# 支持下表中的所有关系运算符。假设变量 A 的值为 1,变量
429424
| 逗号 | , | 从左到右 |
430425
<!--rehype:className=show-header-->
431426

427+
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。
428+
429+
### 逻辑非运算符
430+
431+
```cs
432+
bool passed = false;
433+
Console.WriteLine(!passed); // 输出: True
434+
Console.WriteLine(!true); // 输出: False
435+
```
436+
437+
### 逻辑“与”运算符 &
438+
439+
```cs
440+
bool SecondOperand()
441+
{
442+
Console.WriteLine("计算第二个操作数");
443+
return true;
444+
}
445+
446+
bool a = false & SecondOperand();
447+
Console.WriteLine(a);
448+
// 输出:
449+
// 计算第二个操作数
450+
// False
451+
452+
bool b = true & SecondOperand();
453+
Console.WriteLine(b);
454+
// 输出:
455+
// 计算第二个操作数
456+
// True
457+
```
458+
459+
### 逻辑异或运算符 ^
460+
461+
```cs
462+
Console.WriteLine(true ^ true); // 输出: False
463+
Console.WriteLine(true ^ false); // 输出: True
464+
Console.WriteLine(false ^ true); // 输出: True
465+
Console.WriteLine(false ^ false);// 输出: False
466+
```
467+
468+
### 逻辑或运算符 |
469+
470+
```cs
471+
bool SecondOperand()
472+
{
473+
Console.WriteLine("计算第二个操作数");
474+
return true;
475+
}
476+
477+
bool a = true | SecondOperand();
478+
Console.WriteLine(a);
479+
// 输出:
480+
// 计算第二个操作数
481+
// True
482+
483+
bool b = false | SecondOperand();
484+
Console.WriteLine(b);
485+
// 输出:
486+
// 计算第二个操作数
487+
// True
488+
```
489+
490+
### 条件逻辑“与”运算符 &&
491+
492+
```cs
493+
bool SecondOperand()
494+
{
495+
Console.WriteLine("计算第二个操作数");
496+
return true;
497+
}
498+
499+
bool a = false && SecondOperand();
500+
Console.WriteLine(a);
501+
// 输出:
502+
// False
503+
504+
bool b = true && SecondOperand();
505+
Console.WriteLine(b);
506+
// 输出:
507+
// 计算第二个操作数
508+
// True
509+
```
510+
511+
### 条件逻辑或运算符 ||
512+
513+
```cs
514+
bool SecondOperand()
515+
{
516+
Console.WriteLine("计算第二个操作数");
517+
return true;
518+
}
519+
520+
bool a = true || SecondOperand();
521+
Console.WriteLine(a);
522+
// 输出:
523+
// True
524+
525+
bool b = false || SecondOperand();
526+
Console.WriteLine(b);
527+
// 输出:
528+
// 计算第二个操作数
529+
// True
530+
```
531+
432532
杂项
433533
-----------
434534

0 commit comments

Comments
 (0)