C#只用属性来解决兔子,不用方法和循环
生活随笔
收集整理的這篇文章主要介紹了
C#只用属性来解决兔子,不用方法和循环
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
屬性在調(diào)用者看來就像一個(gè)普通的變量,但作為類的設(shè)計(jì)者,你可以利用屬性來隱藏你類中的一些字段,使外界只能通過屬性來訪問你的字段,你可以通過屬性來限制外界對(duì)你的字段的存取,就利用get、set。如果想讓用戶隨意存取你的字段,那么就實(shí)現(xiàn)get、set;如果只想讓用戶讀取字段,就只實(shí)現(xiàn)get;若只想讓用戶寫字段就只實(shí)現(xiàn)set。同時(shí)還可以在set和get中對(duì)用戶傳遞的值進(jìn)行一些驗(yàn)證工作,以確保你的字段將含有正確的值。
get和set雖然也是兩個(gè)方法,但是這次只用這兩個(gè)來解決兔子問題
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} "); } }實(shí)現(xiàn)其實(shí)還是遞歸,但是是通過get方法實(shí)現(xiàn),加上get
,set用起來比較特殊,看著很牛逼實(shí)則沒卵用
我對(duì)屬性的理解就是在
=左邊觸發(fā)set方法
=右邊觸發(fā)get方法
我剛開始是這樣寫,發(fā)現(xiàn)set方法不會(huì)觸發(fā)
總結(jié)
以上是生活随笔為你收集整理的C#只用属性来解决兔子,不用方法和循环的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET开发框架(八)-服务器集群之网络
- 下一篇: C#各版本新增加功能