小雨博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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;后面跟这个一段时间.今天先睡觉了.

posted on 2017-11-02 13:21  小雨博客  阅读(165)  评论(0编辑  收藏  举报