HashTable儲存數據理論數組
裏面依舊是個Bucket數組。bucket是一個類。函數
table.Add("1","2");大數據
Bucket b = new Bucket();code
b.Key = "1";blog
b.Value = "2";文檔
b.hash_coll = b.key.GetHashCode();字符串
bukets[index] = b;string
// 而後如何儲存下標呢?hash
b.hash_coll%buckets.Length = ?(0-3)計算出的值放在b做爲下標。it
鍵值對是以鍵的hash值算出其所對應的下標。
ArrayList取值是一個一個遍歷取值,但HashTable則是經過Key值來取值。
大數據量狀況下,HashTable取值更快一些。
泛型集合
List<T> 能夠指定儲存類型。
HashTable裏面也有泛型值,利用Dictionary;
Dictionary<T,T> dic = new Dictionary<T,T>();
foreach( KeyValuePair<string,Person> pair in dic)
{
Console.WriteLine(pair.Key + ":" + pair.Value);
}
異常捕捉
1.錯誤?
不符合語法規範。
2.異常
在運行的時候發生的。例子:操做文件的時候
只把有可能發生異常的代碼用try抱起來。
try裏的代碼若是發生異常,就會馬上跳到catch裏面去執行,執行完成以後,繼續往下執行。
try代碼若是有1句異常,就馬上跳到catch裏面,不會執行try裏面的代碼。
catch後面能夠用括弧寫1個Exception變量用來接收發生異常的具體信息。
finally,無論有沒有發生異常,finally裏的代碼都會被執行。
單例模式
1.私有化構造函數
2.提供1個私有的靜態的Person類型的變量
3.提供1個公共的靜態的方法,用於返回上面的變量。
這樣狀況,只能獲得這個類的一個new;
子窗體的列子:
文件操做相關類
Path類(僅僅是操做字符串,不回去查詢真正的路徑問題)
1.strng newPah = Path.ChangeExtension(@"d:\1.txt",''avi');
更改路徑字符串的後綴名,不會更改實際的文件
2.string newPath = Path.Combine(@"d:\12\","12.txt");
自動加斜槓,併合並多個字符串路徑
3.string newPath = Path.GetDirectoryName(path);
獲得文件路徑所在的目錄。若是自己就是一個目錄路徑,就直接放回這個目錄。
4.string newPath = Path.GetExtension(path);
獲得指定的文件路徑的後綴名,若是不是一個文件路徑,返回空串。
5. string newPath = Path.GetFileName();
獲得指定路徑的文件名(帶後綴的)
6.Path.GetFileNameWithoutExtension(path)
只獲得文件名,不要後綴
7. string p = "1.txt";
string newPath = Path.GetFullPath(path);
經過相對路徑獲得咱們的絕對路徑
相對路徑:相對於當前本程序所在目錄
8.Path.GetTempPath();
獲得系統的臨時目錄。
Temp則是系統的臨時目錄,負責存儲某些臨時文件。
9.Path.GetTempFileName();
獲得一個隨機的系統文件名,這個文件已經建立好了
字符集
1.File.Create(@"d:\2.txt")
建立指定的文件,若是文件已存在,則覆蓋。
2.File.AppendAllText(@「d:\2.txt」,"哈哈哈");
向已有的文本文件中追加字符。若沒有這個文件,則建立一個新的。
3.File.Copy(@"d:\test\b\2.txt",@"d:\test\a\3.txt");
複製
4.File.Delete(@"d:\test\b\2.txt");
刪除
5.File.Exists(@"d:\fan.txt");
判斷是否存在
6.File.Move();
文件移動
7.string str = File.ReadAllText(@"d:\fan.txt",Encoding.Default);
讀取
注意:
美國人 ASCII碼 (0-127)
中國人 GB2312(0-127 後面,每2個字節,用來表示1個漢字)
擴展:GB108....(少數民族的字)
臺灣省:BIG5(繁體)‘
...................................
最終:Unicode(ISO組織)(用4個字節表示1個字符)
進一步進化:UTF-8(用1-4個字節來表示)
電腦判斷字符格式,是利用採用隨機試試的狀態,來打開文本的。
8.string[] lines = File.ReadAllLines(@"d:\fan.txt",Encoding.Default);
讀取文本文檔,讀取每一行。