C#只用属性来解决兔子,不用方法和循环
生活随笔
收集整理的這篇文章主要介紹了
C#只用属性来解决兔子,不用方法和循环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
屬性在調用者看來就像一個普通的變量,但作為類的設計者,你可以利用屬性來隱藏你類中的一些字段,使外界只能通過屬性來訪問你的字段,你可以通過屬性來限制外界對你的字段的存取,就利用get、set。如果想讓用戶隨意存取你的字段,那么就實現get、set;如果只想讓用戶讀取字段,就只實現get;若只想讓用戶寫字段就只實現set。同時還可以在set和get中對用戶傳遞的值進行一些驗證工作,以確保你的字段將含有正確的值。
get和set雖然也是兩個方法,但是這次只用這兩個來解決兔子問題
private int num = 0; public int Num { get { if (num == 1 || num == 2) return 1; int n = num; int nn =0; Num = n - 1; nn += Num; Num = n - 2; nn += Num; num = n; return nn; } set { num = value; } } static void Main(string[] args) { Program program = new Program(); for (int i = 1; i <= 10; i++) { program.Num = i; Console.Write($"{program.Num} "); } }實現其實還是遞歸,但是是通過get方法實現,加上get
,set用起來比較特殊,看著很牛逼實則沒卵用
我對屬性的理解就是在
=左邊觸發set方法
=右邊觸發get方法
我剛開始是這樣寫,發現set方法不會觸發
總結
以上是生活随笔為你收集整理的C#只用属性来解决兔子,不用方法和循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET开发框架(八)-服务器集群之网络
- 下一篇: C#各版本新增加功能