在上例中,有兩個構造函數,有可能兩個構造函數需要初始化同一個字段,這種情況,C#中有個特殊 的語言,稱為“構造函數初始化器”可以實現。看下面代碼
using System;
namespace gosoa.com.cn
{
public class test
{
private string domain;
private string url;
public test (string dom,string url)
{
this.domain=dom;
this.url=url;
}
public test(string dom) : this (dom,"www.gosoa.com.cn")
{
}
static void Main()
{
test classOne=new test("gosoa");
Console.WriteLine(classOne.url);
}
}
}
如上實例,就是采用了 構造函數初始化器。注意,構造函數初始化器在構造函數之前執行。
2、只讀字段(readonly)。
只讀字段比常量靈活的多,常量(const)字段必須在聲明之初就初始化,但readonly字段甚至可以進行 一些運算再確定其值。
注意,可以在構造函數中對只讀字段賦值,但不能在其他地方賦值。