標籤:style blog http color io 2014 cti ar
屬性:
1.一般屬性開頭字母大寫,欄位開頭字母小寫。
2.通過public來賦值的方法無法判斷賦值是否非法!
3.無論賦值如何,取值如果就是不採用賦值的結果,那麼無論賦值什麼都不管用。
4.經典錯誤之死迴圈。
例一:
通過public來賦值的方法無法判斷賦值是否非法!
驗證代碼如下:
using System;using System.Collections.Generic;using System.Text;
namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//賦值 Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值結果22 p.Age = -100; Console.WriteLine("所以星雲修改後的年齡:Age={0}\n", p.Age);//取值結果22 p.Age1 = -100;//這種賦值方法,無法判斷合法值 Console.WriteLine("通過public來賦值的方法無法判斷賦值是否非法!\n所以星雲新的年齡為錯誤值:Age1={0},", p.Age1);//取值結果-100 Console.ReadKey(); } } class Person { private int age; public int Age1; public int Age { set //賦值 { if (value< 0) { Console.WriteLine("\n警告:年齡修改失敗,年齡將保持不變,失敗原因:年齡不能為負數!"); } else this.age = value; } get //取值 { return this.age; } } }}
運行:
例二:
無論賦值如何,取值如果就是不採用賦值的結果,那麼無論賦值什麼都不管用。
代碼驗證如下:
using System;using System.Collections.Generic;using System.Text;namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//賦值 Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值傳回值520 p.Age = -100; Console.WriteLine("所以星雲修改後的年齡:Age={0}\n", p.Age);//取值,傳回值為520 p.Age = 22; p.Age = p.Age + 1; Console.WriteLine("\n計算後星雲年齡為p.Age={0}",p.Age);//取值,所以傳回值是520 Console.ReadKey(); } } class Person { private int age; public int Age1; public int Age { set //賦值 { if (value< 0) { Console.WriteLine("\n警告:年齡修改失敗,年齡將保持不變,失敗原因:年齡不能為負數!"); } else this.age = value; } get //取值 { return 520; } } }}
程式運行:
例三:經典錯誤之死迴圈:
代碼如下:
using System;using System.Collections.Generic;using System.Text;namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//賦值 Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值死迴圈 Console.ReadKey(); } } class Person { private int age; public int Age { set //賦值 { this.Age = value; } get //取值 { return this.Age; } } }}