• namespace(命名空間),用於解決類重名問題,可以看做「類的資料夾」。
字串的處理(s)
• string可以看做是char的唯讀陣列。char c = s[1];。例子:遍歷輸出string中的每個元素。
• c#中字串有乙個重要的特性:不可變性,字串一旦宣告就不再可以改變。所以只能通過索引來讀取指定位置的char,不能對指定位置的char進行修改。
• 如果要對char進行修改,那麼就必須建立乙個新的字串,用s.tochararray()方法得到字串的char陣列,對陣列進行修改後,呼叫new string(char)這個建構函式(暫時不用細研究)來建立char陣列的字串。一旦字串被建立,那麼char陣列的修改也不會造成字串的變化。例子:將字串中的a替換為a。
字串提供的各種方法
1)、length:獲得當前字串中字元的個數
2)、toupper():將字元轉換成大寫形式
3)、tolower():將字串轉換成小寫形式
4)、equals(lessontwo,stringcomparison.ordinalignorecase):比較兩個字串,可以忽略大小寫
5)、split():分割字串,返回字串型別的陣列。
6)、substring():解決字串。在擷取的時候包含要擷取的那個位置。
7)、indexof():判斷某個字串在字串中第一次出現的位置,如果沒有返回-1、值型別和引用型別在記憶體上儲存的地方不一樣。
8)、lastindexof():判斷某個字串在字串中最後一次出現的位置,如果沒有同樣返回-1
9)、startswith():判斷以....開始
10)、endswith():判斷以...結束
11)、replace():將字串中某個字串替換成乙個新的字串
12)、contains():判斷某個字串是否包含指定的字串
13)、trim():去掉字串中前後的空格
14)、trimend():去掉字串中結尾的空格
15)、trimstart():去掉字串中前面的空格
16)、string.isnullorempty():判斷乙個字串是否為空或者為null
17)、string.join():將陣列按照指定的字串連線,返回乙個字串。
字串常用方法:
• stringbuilder 和 string 的區別?(*)
• 答:string 在進行運算時(如賦值、拼接等)會產生乙個新的例項,而 stringbuilder 則不會。所以在大量字串拼接或頻繁對某一字串進行操作時最好使用 stringbuilder,不要使用 string
堆和棧的區別(*)
•棧是編譯期間就分配好的記憶體空間,因此你的**中必須就棧的大小有明確的定義;區域性值型別變數、值型別引數等都在棧記憶體中。
•堆是程式執行期間動態分配的記憶體空間,你可以根據程式的運**況確定要分配的堆記憶體的大小。
值型別和引用型別的區別
1,在記憶體上儲存的地方不一樣
2,傳遞方式不一樣(值傳遞和引用傳遞)
儲存:
值型別的值儲存在站上
引用型別的值儲存在堆上
•1.將乙個值型別變數賦給另乙個值型別變數時,將複製包含的值。引用型別變數的賦值只複製對物件的引用,而不複製物件本身。
•2.值型別不可能派生出新的型別:所有的值型別均隱式派生自system.valuetype。但與引用型別相同的是,結構也可以實現介面。
•3.值型別不可能包含 null 值:
•4.每種值型別均有乙個隱式的預設建構函式來初始化該型別的預設值。
深入學習之字串的方法
字串的方法 字串最大的特點就是不可變 1.charat 方法 找到索引對應的字串 2.charcodeat 方法 返回索引對應的字串的ascii碼 3.string.fromcharcode 方法 獲取ascii碼對應的字串 4.concat 方法 拼接字串 5.slice a,b 方法 從索引a開...
字串深入
4個標準包對字串操作非常重要 bytes,strings,strconv和unicode。strings包提供了很多函式,用於搜尋 替換 比較 修整 切分和連線字串 bytes包也有類似函式,用於操作byte。由於字串不可變,因此按增量方式構建字串會導致多次記憶體分配和複製。這種情況使用bytes....
UIApplication深入學習
新建乙個任意型別的ios應用工程,加入我們在class prefix輸入是tc,我們可以看到工程中生成乙個類 在main函式中,autoreleasepool 函式中 說明 當應用程式將要入非活動狀態執行,在此期間,應用程式不接收訊息或事件。比如來 了。說明 當應用程式入活動狀態執行,這個剛好跟上面...