學習一門語言,我認為第一步要訓練自己的思維能力,讓自己的思維更像計算機一樣,具有邏輯連貫性和承接性,如果你的邏輯思維十分的跳躍那麼可能在編碼程式的時候會出現一些考慮不全的漏洞。訓練這種邏輯連貫性和邏輯承接性,我常用的乙個方法是遇見乙個問題細分為多個連貫性的步驟。最後,要學習好c#這門語言需要勤奮不斷的實踐,實踐出真知。
下面我對我經常犯錯的地方與大家一起分享一下,希望能對你有所幫助。
陣列時引用型別。陣列的大小是陣列的所有維度的長度乘積。表示陣列中包含的元素的總數。每個維度的索引是從0開始的,這意味著索引範圍從0到他的上限。因此,給定維度的長度要比最大索引大1。
比如:a[8]這個陣列的長度就是9.
操作檔案需要移動檔案到相應的資料夾中,採用的辦法先把檔案拷貝到指定的資料夾中,然後刪除原有的檔案(直接把檔案移動過去未試成功)讀取txt檔案內容,為了按照txt的每一段為陣列的乙個元素,應為乙個txt檔案有十分多的行,這裡不建議使用split()函式(看下面解釋就知道了)
使用方法:
liststr = new list();
streamreader reader = new streamreader(filename,encoding.default);
while(reader.peek()!=-1){ //判斷檔案是否到達最後一行
str.add(reader.readline());
一般使用split()函式是不會出現問題的,如果使用split()拆分的陣列長度大於65535就會出現越界問題。
1.可控型別修飾符"t?":例如:int?代表可控整形,即可空型別可以表示其基礎型別的乙個值和乙個額外的空值。可空型別有乙個hasvalue的bool型別的唯讀屬性,當該屬性為true的時候,那麼該值為非空例項,可以正常訪問該值的value。如果hasvalue的屬性為false的時候,那麼訪問該值的value導致異常。2.條件運算子"result = a?b:c"三元運算子,如果條件a為真,那麼result=b,如果條件a為假,那麼result=c。
3.空合併運算子"??",例如:a??b如果a為空返回b,如果a不為空返回a。a??b??c適合右和左結合a??b??c=a??(b??c)
4.命名空間別名限定符"::".一般使用比較少,使用情況是比如,當類中的成員在可能被其他名字重名覆蓋的前提下使用時非常有用的。
比如,定義 int console=2,但是在函式中console.wrilte("***");就會出現問題,這時我們要制定使用的system的console方法可以使用 global::system.console.write("***xx"),這樣就消除了歧義。這裡的簡單的歸納,只是平時使用中的一些簡單的常用的經常搞混的容易犯錯的進行了簡單的歸納和總結希望能給你有所幫助,如果你在開發過程中發現了一些值得借鑑的也可以發出來一起學習分享,共分享同成長。
C 步入委託(一)
c 的委託是每個程式設計師需要掌握的知識,它更好的處理了物件導向的開發。但是很多時候學習起來不是那麼易入門,所以有必要和大家分享一下委託的知識 委託就就好比乙個 公司,它只做中間處理,個人和企業不需要知道他是怎麼處理的。1 定義 2 宣告 3 例項化 4 作為引數傳遞 5 使用委託 這個概念比較抽象...
神秘大門神秘大門
1 神秘大門 題目描述 最近小k大牛經過調查發現,在wzland的最南方 wz antarctica 出現了奇怪 的磁場反應。為了弄清楚這一現象,小k 大牛親自出馬,來到了wz antarctica。小k大牛發現wz antarctica 出現了一道神秘的大門。人總有好奇心,小k大牛想開啟 這扇神秘...
踏入C語言的大門
今天開始了對c語言的學習,雖然此前接觸過c語言,但是並沒與好好掌握它,這次又讓我重新接觸它,我相信在之後的日子裡,我會盡快掌握c語言的知識,提高自己的程式設計能 一 1 基本資料型別 空型別 字元型 數值型 陣列 結構 聯合 列舉 指標 2 數值型又分為實型和整型 絕大多數佔4個位元組 實型分為單精...