C#语法扩展
判空
?and ??
1 | int i; //默认值0 |
?. and ??
?.
为空就执行方法,常用事件传递,_action?.Invork()
??
为空就赋值
Guard.IsNotNull
- 空异常抛出,若为空就抛异常,否则通过
Is and As
if(xxx is aaa x) bbb;
var x = a as c;
if (x != null) xxx
字符串常用API
拼接
1 | // Format 插值方法 |
分割
1 | String str = "1,2,3,4"; |
字典常用API
TryGetValue
:通过键找是否有对应的键值对
时间表示
1 | var dt = DateTime.Now; |
Linq
常用
any 是否有
orderby 升序
distinct 去重
take 保留前几个
skip 跳过前几个
1 | var list = new List<int>(); |
SkipWhile 按条件跳过
thenby … 多次排序
二维数组去重
1 | // 二维数组删除重复 |
序列化
ToJson()
DeserializeObject 序列化 转成string
向上向下取整
1 | double down = Math.Floor(77.5); //向下取整 77 |
default(T)关键字
C# 在类初始化时,会给未显示赋值的字段、属性赋上默认值,但是值变量却不会。
值变量
可以使用默认构造函数赋值,或者使用default(T)
赋值。默认构造函数是通过 new 运算符来调用的,如下所示:
1 | int myInt = new int(); |
在 C# 中不允许使用未初始化的变量
————————————————
From:https://blog.csdn.net/lizhenxiqnmlgb/article/details/81476115
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 五里霧中!