zoukankan      html  css  js  c++  java
  • LINQ学前准备之对象集合初始化器

    对象初始化器为我们提供了更加简洁和方便的对象初始化方法。

    假设我们有一个对象Address需要初始化,我们的代码可能是这样的:

    #region Address Class
    public class Address
    {
    	public string City{get;set;}
    	public string State{get;set;}
    	public string ZipCode{get;set;}
    }
    #endregion
     
    #region Initial Address
    Address address = new Address();
    address.City = "New York";
    address.Staty = "NY";
    address.ZipCode = "10016";
    #endregion

    显然,如果将这种初始化方法应用于LINQ中是极为不方便且不优雅的。

    因此微软提供了对象初始化器:

    #region
    Address address = new Address{
    				City="New York",
    				State="NY",
    				ZipCode="10016"
    				};
    #endregion
     
    同样的,对于集合初始化器也采用了类似的方法:
     
    List<string> citys = new List<string>{“New York”,"Beijing”};
     
    其实,如果我们反编译代码,就会发现,当我们用对象初始化器来初始化对象的时候,C#编译器依旧会生成一个Address类型的局部变量,并调用Address的无参构造函数来初始化他,然后再对其属性进行赋值操作,最后返回这个变量。因此,我们提供的Address必须有一个无参构造函数。

     

  • 相关阅读:
    Linux命令大全之关机重启命令
    Linux命令大全之帮助命令及压缩命令
    Linux命令大全之搜索命令
    Linux命令大全之基本命令
    Linux安装界面简介
    Linux 的ftp服务未启用怎么办
    创建分区表
    Linux分区,格式化概念理解
    VMware简介
    Linux简介
  • 原文地址:https://www.cnblogs.com/tian2010/p/2380943.html
Copyright © 2011-2022 走看看