集合类初始化赋值
//使用对象初始化器:{},使用对象初始化器,必须提供一个无参的构造函数,可以只给部分属性初始化
User xiaohong = new User()
{
Name = "小红",
phone = "1232154566",
Address = "上海"
};
//集合初始化器
List<User> listUser = new List<User>()
{
xiaohong,
new User(){Name="张三",Password="1234",Age=12,DeptId="0001"},
new User(){Name="张四",Password="1234",Age=16,DeptId="0002"},
new User(){Name="张五",Password="1234",Age=29,DeptId="0003"},
new User(){Name="张六",Password="1234",Age=18,DeptId="0001"},
new User(){Name="张七",Password="1234",Age=12,DeptId="0001"}
};
索引初始化
var numbers = new Dictionary<int, string> {[7] = "seven",[9] = "nine",[13] = "thirteen" };
等同于numbers[7] = "seven";
字符串格式化
//String.Format有些不方便的地方是:必须输入"String.Format",使用{0}占位符、必须顺序来格式化、这点容易出错。var s = String.Format("{0} is {1} years old", p.Name, p.Age);
//新的语法糖使用起来相对更轻松些:
//使用$
开头 字符串内变量使用{}
var s = $"{p.Name} is {p.Age} years old";
NULL条件运算符?. ?[] 和??
aEmployee = null;
var b = aEmployee?.Salary;
var b = sample?[1].Name;
SQL.Teacher = SQL.Teacher ?? new Teacher();
- 在对象使用前检查是否为null。如果对象为空,则赋值给变量为null,如果对象不为空,则调用对象的成员取值,并赋值给变量。
- 如果不使用
?
,程序会抛出System.NullReferenceException
??
组合,不为null值时,返回原值;为null值时,返回 ?? 后替代值可以大量减少空判断的代码
nameof表达式
用于获取某些类名, 字段名等
Console.WriteLine(nameof(name));
三元运算符 ?:
var c =a>=b?a:b;
//等同于
if (a >= b)
{
return a;
}
else
{
return b;
}
数学分隔符 _
var a = 1235_5678;
var a = 12355678;
评论 (0)