C#只用属性来解决兔子,不用方法和循环
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C#只用属性来解决兔子,不用方法和循环
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                屬性在調(diào)用者看來(lái)就像一個(gè)普通的變量,但作為類的設(shè)計(jì)者,你可以利用屬性來(lái)隱藏你類中的一些字段,使外界只能通過(guò)屬性來(lái)訪問(wèn)你的字段,你可以通過(guò)屬性來(lái)限制外界對(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è)來(lái)解決兔子問(wèn)題
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í)還是遞歸,但是是通過(guò)get方法實(shí)現(xiàn),加上get
,set用起來(lái)比較特殊,看著很牛逼實(shí)則沒卵用
我對(duì)屬性的理解就是在
=左邊觸發(fā)set方法
=右邊觸發(fā)get方法
我剛開始是這樣寫,發(fā)現(xiàn)set方法不會(huì)觸發(fā)
總結(jié)
以上是生活随笔為你收集整理的C#只用属性来解决兔子,不用方法和循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: .NET开发框架(八)-服务器集群之网络
 - 下一篇: .netcore项目docker化,以及