codecamp

C# 对象初始化

C#对象初始化

任何可访问的字段或对象的属性可以在构造之后通过对象初始化器直接设置。

例如,考虑下面的类:


public class Person { 
    public string Name; 
    public bool IsWorking; 
    public bool HasChild;
    //from   ww  w  . j av  a 2 s  .c o  m
    public Person () {} 
    public Person (string n) { 
       Name = n; 
    } 
} 

使用对象初始化器,您可以如下所示实例化Person对象:


// Note parameterless constructors can omit empty parentheses 
Person b1 = new Person { Name="Jack", IsWorking=true, HasChild=false }; 
Person b2 = new Person ("Jack") { IsWorking=true, HasChild=false }; 

对象初始化程序与可选参数

我们可以使Person的构造函数接受可选参数:


public Person (string name, bool IsWorking = false, bool HasChild = false) { 
    Name = name; 
    IsWorking = IsWorking; 
    HasChild = HasChild; 
} 

这将允许我们构造一个Person如下:


Person b1 = new Person (name: "Jack", IsWorking: true); 
C# 构造函数
C# 引用
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }