记录一下公司前辈分享的C#一些tricks,让代码写起来更加简洁易读
空引用时返回empty string
C# 6.0 or newer
使用 null-conditional operator ?.
例
var Str = Object?.Id.ToString() ?? "";
前面的Object?.
表示如果Object为null则此时Object.x
也为null,之后的??
则表示其之前的内容如果为null,则将""赋值给Str。
C# 6.0之前的版本
string Str = Object!=null?Object.Id.ToString():"";
字符串拼接
多用$$"x={x},y={y}"
代替"x="+x+",y="+y
,如此依赖可解决参数数据类型的问题,且看起来比较直观可读。
字典合并
dictionaryFrom.ToList().ForEach(x => dictionaryTo.Add(x.Key, x.Value));
List与字典互转
var res = list.Distinct().ToDictionary(x => x, x => x);
其中Distinct()
方法用于list的去重,其返回的集合类型为IEnumerable<DataType>。
判断List是否含有某个元素
Current_List.Where(x => x.FunctionAtName == functionItem.FunctionAtName).Count()
获取List中满足条件的元素的位置
int i = Array.FindIndex(yourArray, x => x == itemYouWant);