抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

在Windows下使用.Net做窗口应用比较方便。所以打算开始学一学C#。

数据类型

C#有以下几种简单数据类型:

  1. 有符号整型:sbyte,short,int,long
  2. 无符号整型:byte,ushort,uint,ulong (前面的u可能是unsigned的缩写吧
  3. Unicode字符:char (官方文档说表示UTF-16代码单元)
  4. IEEE二进制浮点:float,double (哈哈还真有跟JS一样的精度丢失bug (经典0.1 + 0.2 != 0.3))
  5. 高精度十进制浮点数:decimal (范围比double略小,精度高,而且0.1+0.2==0.3了科科。赋值时要注意是0.1m,0.2m后面要带m,否则就是double了)
  6. 布尔值: bool

C++里的auto跟C#的var对应,智能类型推断,需要初始化。

判断

跟C一样的if语句

1
2
if (表达式) {}
else {}

逻辑预算符也是&&,||,!。(与或非)

三元运算符也有。

a = a > b? a : b;

翻译:a等于什么?来看一下,a>b吗?大于的话就是a=a,否则就是a=b

循环

while(表达式) {}

满足条件就循环。

do {}while(表达式);

先做一次看满不满足条件,满足就循环。

for(int i = 0; i <= n; i++)

for语句没变化

foreach(var num : nums)

这个跟C++的for(auto num : nums)一样用法,枚举列表中每个元素。
2023/9/8更正,不能对num进行赋值操作,不能修改,只能读取。

不能重新分配 num 的值,因为它是 foreach 迭代的内部实现的一部分。

控制台输出

Console.Write()

输出内容

Console.WriteLine()

输出内容,会在末尾加个换行符\n

PS

Visual Stdio 2022对C#的intelligence code真是绝绝子,好用到翘jiojio。

按一下tab就补全了,写简单示例题的时候疯狂tab。

评论