https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/index:
算的上是官方中文文档:这个很好很全很强
1.+-*/和java一样,另外结果的数据类型和操作数的数据类型相关,多个操作数数据类型一致,那自然结果也保持一致,如果数据类型不同,那么小的数据类型会被隐式转换成大的数据类型,
这点在java很好演示,然而在C#我还没找到直观的办法演示 3.0 + 3 = 6.0;
2.用ide时发现 基本数据类型也可以点出方法,这是比java更彻底的面向对象语言吗?
3.C# 多了 infinity(无穷大);int long decimal / 0 会报错,用变量的话会抛DivideByZeroException;float double / 0 = infinity;
也多了NaN(js也有这个not a number) infinity NaN 可以在表达式中使用, 10 + NaN = NaN; 10 + infinity = infinity;
4.看见课程上有C#写的无数字计算器,享受不到资源,那自己写一个.然后发现控制判定 C#的switch case 都不会,就先停手,等到学了switch Case空置判定再完成.
5.WPF控件显示和输入的都必须是字符串,.net Framework中每一个类也有toSting方法,在int中toString为把整数值转换成字符串.
,6.操作符的优先级,
算术操作符*%/ 大于 +-;平级从左到右 ; 小括号改变优先级;
赋值操作符:右面先求值后再赋给左面;
7.一元操作符
++,--一直我都容易混淆,这次拖C#的福,看了这个帮助我理解最清晰的说法;
x++ :后缀递增操作符.先返回x值,然后用加1(通常加整数1)后的x值更新存储位置..
x--:后缀递减.先返回x值,然后用减1(通常减整数1)后的值更新存储位置.
联系下原子性,可见性和计算机的处理器和内存,++ -- 说不定操作符不具备原子性.
在记定义上,就记成前缀和后缀,先赋值到操作数,"在+1更新存储到内存"",就这么理解来记定义.
8.default(T):返回类型T的默认值,结构类型成员的默认填充值为0/null;结构类,新定义.
发现对C#的数据类型又得重新看,觉得按照从0开始学C#是浪费时间,开始尝试
https://docs.microsoft.com;后面跟这个一段时间.今天先睡觉了.