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必须有一个无参构造函数。

     

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/tian2010/p/2380943.html
Copyright © 2011-2022 走看看