標籤:style blog color 使用 資料 art
字串:
可以看做一個字元數組
堆裡面有一個字串拘留池,建立一個字串時,首先會在拘留池中找有沒有相同的字串,如果有,直接使變數指向拘留池中的字串。沒有才會再拘留池中建立。給你字串變數重新賦值時,是一個重新尋找拘 留池和建立的過程,不會修改原來建立的字串
字串對象一旦建立,不會被GC回收
字串函數:
string.Conmpare():比較兩個字串第一個不同字元的大小
Concat():串連多個字串
Contains():判斷指定的串裡面是否包含指定的子串
StartWith()/EndsWith():判斷指定的字元是否以指定的子串開始/結尾
string.Format()格式化字串,與Console.WriteLine()預留位置用法類似。
IndexOf():尋找指定子串在字串中的索引
LastIndexOf():從字串的結尾往前查第一次出現匹配的索引
Insert():在指定的索引位置插入指定的字串
string.IsNullOrEmpty():判斷字串是否null或string.Empty
Remove():刪除指定索引開始,指定長度的子串,不指定刪除到結尾
Replace():把舊子串替換成新子串
Split():按指定字元(串)分割字串,可傳多個字元,返回字串數組
Substring():指定索引開始,截取指定長度的子串
ToCharArray():轉換成字元數組
ToLower():轉換成小寫
ToUpper():轉換成大寫
Trim():去掉前後空格或指定字元
索引器:
文法:public int this[int index]{get{return 0;}set{}}
ArrayList:
內部儲存資料的是一個object數組
Add方法返回的是加進去元素所在的索引
Remove方法,刪除指定的對象,刪除第一個
Clear方法,清空數組之後,object數組長度不變
可以通過建構函式建立指定長度的ArrayList,這個長度是object數組的初始長度,不是對象的Count屬性是object數組裡元素的個數,所以沒有通過Add方法添加元素之前,不能使用索引訪問
foreach:
內部原理:
ArrayList list = new ArrayList();IEnumerator t = list.GetEnumerator();while(t.MoveNext()){ Console.WriteLine(t.Current);}
GetEnumerator方法來自IEnumerable介面,ArrayList類實現了IEnumerable介面。
GetEnumerator方法返回IEnumerator類型,所以要有一個實現IEnumerator介面的類
IEnumerator介面
其中有Current屬性,MoveNext方法,Reset方法
Current返回當前指標指向的元素的值
MoveNext:將指標向前移動1位,並判斷當前位有沒有元素,返回bool
Reset:將指標重新指向0
實現IEnumerator介面:
1 private int count; 2 private int index = -1; 3 private object[] objs; 4 public MyEnumerator(object[] objs, int count) 5 { 6 this.objs = objs; 7 this.count = count; 8 } 9 public object Current10 {11 get{return objs[index];}12 }13 public bool MoveNext()14 {15 return ++index<this.count;16 }17 public void Reset()18 {19 index = -1;20 }
有了實現IEnumerator介面的類,就可以在GetEnumerator方法中建立一個類的對象返回