程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Effective C#原則7: 選擇恆定的原子值類型數據(3)

Effective C#原則7: 選擇恆定的原子值類型數據(3)

編輯:關於C語言

現在,你就擁有了 一個恆定類型。為了讓它有效的工作,你必須添加一個構造函數來完全初始化 address結構。這個address結構只須要額外的添加一個構造函數,來驗證每一個 字段。一個拷貝構造函數不是必須的,因為賦值運算符還算高效。記住,默認的 構造函數仍然是可訪問的。這是一個默認所有字符串為null,ZIP代碼為0的地址 結構:

public struct Address
{
 private readonly string _line1;
 private readonly string _line2;
 private readonly string _city;
 private readonly string  _state;
 private readonly int  _zipCode;
 public Address( string line1,
  string line2,
  string city,
  string state,
  int zipCode)
 {
  _line1 = line1;
  _line2 = line2;
  _city = city;
  _state = state;
  _zipCode = zipCode;
  ValidateState( state );
  ValidateZip( zipCode );
 }
 // etc.
}

在使用這個恆定數據類型時,要求直接用不同的調用來一順的修 改它的狀態。你更寧願創建一個新的對象而不是去修改某個實例:

// Create an address:
Address a1 = new Address( "111 S. Main",
 "", "Anytown", "IL", 61111 );
// To change, re-initialize:
a1 = new Address( a1.Line1,
 a1.Line2, "Ann Arbor", "MI", 48103 );

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved