标签搜索
Net

别吃糖(二)

艾塔
2023-05-05 / 0 评论 / 24 阅读 / 正在检测是否收录...
集合类初始化赋值
 //使用对象初始化器:{},使用对象初始化器,必须提供一个无参的构造函数,可以只给部分属性初始化
           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();
  1. 在对象使用前检查是否为null。如果对象为空,则赋值给变量为null,如果对象不为空,则调用对象的成员取值,并赋值给变量。
  2. 如果不使用?,程序会抛出System.NullReferenceException
  3. ??组合,不为null值时,返回原值;为null值时,返回 ?? 后替代值
  4. 可以大量减少空判断的代码

    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;

操作符重载

C#运算符重载

0

评论 (0)

取消