c#对象初始化
本文关键字:初始化 对象 | 更新日期: 2023-09-27 18:17:14
有这样代码的程序:
var subtree = new Tree<int>(5, EnumeratorOrder.BreadthFirstSearch) { 1, 2 };
var tree = new Tree<int>(7, EnumeratorOrder.BreadthFirstSearch) { subtree, 10, 15 };
我不明白{ 1, 2 }
是什么意思
我不明白{1,2}是什么意思
{1, 2}
是集合初始化式
表示
的简写形式var temp = new Tree<int>(5, EnumeratorOrder.BreadthFirstSearch);
temp.Add(1);
temp.Add(2);
var subtree = temp;
关于temp
初始赋值的注意事项:赋值的含义是向左求值,向右求值,进行赋值。对右求值会产生副作用,而这些副作用必须在赋值效果之前排序。
这是一个集合初始化式
集合初始化器允许您在初始化实现IEnumerable的集合类或具有Add扩展方法的类时指定一个或多个元素初始化器。元素初始化式可以是简单值、表达式或对象初始化式。通过使用集合初始化器,您不必在源代码中指定对类的Add方法的多次调用;编译器添加调用。