经常要构造一个对象并设置对象的一些公众属性(或字段)。
1.为了简化这个常见的编程模式,C#语言支持一种特殊的对象初始化语法。下面是一个例子:
Employee e = new Employee(){ Name = "Jeff",Age = 45};
2.如果属性的类型实现了IEnumerable或IEnumerable<T>接口,属性就被认为是集合,而集合的初始化是一种相加(additive)操作,而非替换(replacement)操作。例如,假定有下面这个类定义:
public sealed class Classroom{
private List<String> m_students = new List<String>();
public List<String> Students {get{return m_studentsl}}
public Classroom(){};
}
注意:如果属性的类型实现了IEnumerable或IEnumerable<T>,但未提供Add方法,编译器就不允许使用集合初始化向集合种添加数据项。

转载于:https://www.cnblogs.com/TheChenLin/p/10190385.html

[From 10.1~10.5] 对象和集合初始化器(C#语法糖系列)相关推荐

  1. .NET 中创建支持集合初始化器的类型

    对象初始化器和集合初始化器只是语法糖,但是能让你的代码看起来更加清晰.至少能让对象初始化的代码和其他业务执行的代码分开,可读性会好一些. 本文将编写一个类型,可以使用集合初始化器构造这个类型.不只是添 ...

  2. C#笔记13 匿名类型、集合初始化器、扩展方法和查询表达式

    文章目录 匿名类型 new{...}和隐式类型var 集合初始化器和对象初始化器 扩展方法 案例引出扩展方法的意义 扩展方法的使用 做Enumerable的扩展方法 扩展方法使用 标准查询运算符 Li ...

  3. lambda 对象初始化器 集合初始化器

  4. 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等)

    一. 语法糖简介   语法糖也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方 ...

  5. 大数据笔记10—java基础篇6(集合1-Collection)

    集合 集合(Collection) 一.迭代器<iterator> 案例一 二.并发修改异常 三.Collection集合 案例一(Collection练习) 案例二(Collection ...

  6. 10 探索其他Excel对象

    10.1 产生一个好的第一印象 10.1.1 为我们的世界着色 rgb(red:=[0,225],green:=[0,225],blue:=[0,225]) 此函数生成一个表示颜色的整数.VBA预定义 ...

  7. 2011年9月最新整理的10个有趣的jQuery插件集合

    这篇文章将整理出最有趣的jQuery10个插件集合,包括不同的插件,如滑块,用户界面​​对话框,图像过滤器等,对于喜欢把网页做得很炫很有创意的朋友,这些插件将是非常有帮助的. 1. Rotating ...

  8. 产生10个1-100的随机数,并放到一个数组中, 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。

    代码 import java.util.ArrayList; import java.util.List; import java.util.Random;/*1.产生10个1-100的随机数,并放到 ...

  9. 编写一个扑克类(每张扑克有花色和数值,例如红心A,草花10),将52张扑克牌放到集合中(自己去选择集合类)

    编写一个扑克类(每张扑克有花色和数值,例如红心A,草花10,将52张扑克牌放到集合中自己去选择集合类 题目描述 代码 题目描述 编写3个方法 方法1.将集合中的所有扑克重新洗牌,并将扑克输出(打印出来 ...

最新文章

  1. 校验正确获取对象或者数组的属性方法(babel-plugin-idx/_.get)
  2. Actor IM 中 WebRTC的设定
  3. templates(0.1)
  4. 计算机应用中的CAI,????按计算机应用的分类,CAI应属于()应用。
  5. JavaScript实现监听移动端上下左右滑动事件
  6. ganglia集群监控搭建步骤
  7. V4L2 YUV/YCbCr格式数据 转 RGB格式数据 V4L2_PIX_FMT_NV12 转 RGB
  8. 不擅长演讲?值得技术收藏的PPT演讲底层逻辑--大树模型
  9. 如何以管理员身份进入dos命令窗口
  10. 64位处理器_计算机基础:处理器
  11. 泛微oa流程表单之HTML表单字段必填验证的添加与移除
  12. Eclipse官网地址
  13. OFFICE、EXCEL、WORD、PPT操作技巧个人笔记本(持续更新)
  14. 骑士数字外汇即将开启公测版,以科技领导数字金融发展!
  15. python非线性最小二乘拟合_非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]...
  16. 【Javascript】进阶之实现评论分页与发表评论功能
  17. GRBL学习-常用G代码
  18. JAVA 枚举类型 根据代码得到中文
  19. HTML5期末大作业:饮食食品主题设计——绿色简洁生鲜超市网站设计(5页) HTML+CSS+JavaScript web前端大二实训大作业
  20. 需求来源以及竞品分析

热门文章

  1. 树莓派AI视觉云台——7、树莓派系统备份
  2. VS2017简单用法
  3. 小程序服务器七牛云,基于七牛云 API 开发的微信小程序 SDK
  4. 故障模块名称kernelbase.dll_西门子PLC数字量DI扩展模块1221一级总代理
  5. C++中 引用与取地址的区别
  6. 送计算机教授教师节礼物,教师节送教授什么礼物好
  7. 计算机专业多媒体技术学什么,计算机多媒体技术需要学习哪些知识
  8. 排列出所有子串暴力递归
  9. 组数总和—leetcode39
  10. 获取PE文件的区段表