对象初始化器
Book book = new Book { Title="Inside COM",ISBN="123-456-789"};

集合初始化器 

IList<Book> books = new List<Book> { new Book { Title = "Inside COM", ISBN = "123-456-789",Price=20 },new Book { Title = "Inside C#", ISBN = "123-356-d89",Price=100 },new Book { Title = "Linq", ISBN = "123-d56-d89", Price = 120 }
};

匿名类型

在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了,这个类型的生命周期也没有了。那么这里我们就可以使用一个匿名类型。

扩展方法:

1 方法所在的类必须是静态的

2 方法也必须是静态的

3 方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。

4 在第一个参数前面还需要有一个this关键字。

按照上面的步骤写你就得到了一个“扩展方法”,你可以像调用这个类的原生方法那样去调用它:

实例 :

public static class PropertyExtension
{public static object GetValueByName(this object self, string propertyName){if (self == null){return self ;}Type t = self.GetType();PropertyInfo p = t.GetProperty(propertyName);return p.GetValue(self, null);}
}

转载于:https://www.cnblogs.com/wayne798/archive/2012/04/09/2438940.html

C#特性 学习笔记(对象初始化器 匿名类型 扩展方法)相关推荐

  1. 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.1:C# 3.0 特性(对象初始化表达式\匿名类型\查询表达式)...

    本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理. 允许转载,但转载时请注明本版权声明信息,禁止用于商业用途! 博客园:韩现龙 Introducin ...

  2. 《Java 核心技术卷1 第10版》学习笔记------ 对象包装器、自动装箱、拆箱

    有时, 需要将 int 这样的基本类型转换为对象. 所有的基本类型都冇一个与之对应的类.例如,Integer 类对应基本类型 int.通常, 这些类称为包装器 ( wrapper ) 这些对象包装器类 ...

  3. python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)

    所谓序列,指的是一块可以存放多个值的连续内存空间,可以通过每个值所在的编号(索引)去访问他们 目录 列表(可变序列) 元组(不可变序列) 字符串(不可变) 转义 字符串拼接 列表(可变序列) 列表 方 ...

  4. Java8新特性学习笔记

    Java8新特性学习笔记 文章目录 Java8新特性学习笔记 一.接口和日期处理 1.接口增强 1.1.JDK8以前 VS JDK8 1)接口定义: 1.2.默认方法(default) 1)默认方法格 ...

  5. jdk7新特性学习笔记

    jdk7新特性学习笔记 从网络down了视频看,记录下学过的东西. 1.二进制字面量 JDK7开始,可以用二进制来表示整数(byte,short,int和long),语法:在二进制数值前面加 0b或者 ...

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

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

  7. HALCON 21.11:深度学习笔记---对象检测, 实例分割(11)

    HALCON 21.11:深度学习笔记---对象检测, 实例分割(11) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在 ...

  8. Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  9. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

  10. C#中的构造方法与对象初始化器

    文章目录 1 C#中的构造方法 1.1 默认的无参构造方法 1.2 自定义的无参构造方法 1.3 自定义的有参数的构造函数 2 对象初始化器 2.1 对象初始化器的使用 3 构造方法和初始化器的对比 ...

最新文章

  1. 简洁的导出 datatable到excel,不用组件
  2. Java字符串String比较不要用==原因
  3. 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits中的“logits”到底是个什么意思?
  4. c++ qt获取电脑的内存_Qt官方示例-TCP客户端/服务器示例
  5. pg库sharelock_PostgreSQL LOCK(锁)
  6. ZooKeeper监控
  7. 【CCCC】L3-013 非常弹的球 (30分)物理计算
  8. [Vue]开发环境搭建
  9. vue 个人头像修改
  10. 百度网盘链接提取码接口实现
  11. c语言存储转置矩阵,C语言实现矩阵转置(附带源码)
  12. Python作业题整理
  13. Arduino制作跑马灯
  14. Umi3.5配置全局路由及菜单
  15. 双11还没买过瘾?亚马逊“真黑五”全球狂欢登场
  16. 做一个专属于自己的图灵机器人
  17. 研究内核安全必读的10本书
  18. Photoshop界面字体太小解决方案
  19. JavaScript网页设计作业 仿当当书网站 HTML+CSS 学生dreamweaver网页设计作业成品
  20. sklearn的决策树和随即森林的demo

热门文章

  1. 由内鬼事件看企业的内部安全威胁
  2. Ubuntu 14.04 更换阿里云源
  3. getopt两个模块getopt 和gun_getopt 的异同
  4. 洛谷P2939 [USACO09FEB]改造路Revamping Trails(最短路)
  5. 【JavaScript】回流(reflow)与重绘(repaint)
  6. JavaScript算法 之 选择排序
  7. 1、配置后台登录以及模板引入
  8. LPC1768的USB-相关结构体定义
  9. SNS网站获取导入MSN联系人的方法
  10. 【map知识点总结】