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

     

  • 相关阅读:
    git的版本回退
    elementui的表格有多选框时翻页记住之前选择的数据
    git操作总结
    POJ 3107 Godfather
    HDU 4405 Aeroplane chess
    ZOJ 3626 Treasure Hunt I
    UVA 10537 Toll! Revisited
    POJ 3093 Margaritas on the River Walk
    POJ 1655 Balancing Act
    POJ 2342 Anniversary party
  • 原文地址:https://www.cnblogs.com/tian2010/p/2380943.html
Copyright © 2011-2022 走看看