看板 C_Sharp 關於我們 聯絡資訊
namespace Application { ///The DataObject class stored with a key class DataObject { ///populate } class program { static Hashtable Data = new Hashtable(); static string[] StaticData = new string[]{ "X-Ray", "Echo", "Alpha", "Yankee", "Bravo", "Charlie" "Delta", "Hotel", "India", "Juliet", "Foxtrot", "Sierra", "Milk", "Kilo", "lima", "Nomber", "Oscar", "Papa", "Qubec" "Remeo", "Tango", "Golf", "Uniform", "Victor", "Whisky", "Zulu"}; static void Main (string[] args) { for(int i= 0; i<StaticData.Length; i++) Data.Add(StaticData[i].ToLower(), new DataObject( StaticData[i])); while(true) { PrintStortedData(); Console.WriteLine(); Console.Write(">"); string str = Console.ReadLine(); string[] strs = str.Sp;it(' '); if(strs[0]=="q") break; else if(strs[0]=="print") PrintSortedData(); else if(strs[0]=="inc") Increase(strs[1]); else if(strs[0]=="dec") Decrease(strs[1]); else if(strs[0]=="swap") Swap(strs[1], strs[2]); else if(strs[0]=="ref") Ref(strs[1], strs[2]); else if(strs[0]=="unref") UnRef(strs[1]); } } } 在這邊請問各位大大 因為我是c#的初學者 上來之前我也做了一下功課,有唸書.大致上知道上面的程式是在講什麼 但是還是有些不太懂的地方,想請問一下大家程式第三行註解那邊 The DataObject class stored with a key 不太懂他的意思 我知道他要我做什麼寫那個類別,但是英文不太好.可以為我解說他的意思嘛? 另外在程式26~27行 後半段 new DataObject(StaticData[i]) 為什麼它可以那樣寫,不太能理解.謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.18.201.98
KojIrOQQ:其實就是Key-Value的概念 hashtable和dictionary很像, 06/25 21:41
KojIrOQQ:用一個key來當作其索引來搜尋到裡面的值 06/25 21:43
KojIrOQQ:在這個範例key是用string type,因此以後你要取hashtable 06/25 21:45
KojIrOQQ:的資料只要用類似Data["X-Ray"]就可以取出相對應的 06/25 21:46
KojIrOQQ:DataObject物件了 06/25 21:46
luyaochu:我剛剛搜尋了google的網頁 查了一下Hashtable 06/25 23:44
luyaochu:網頁上是說他是一個集合,金鑰,值組儲存並使用金鑰來雜湊 06/25 23:46
luyaochu:至於程式的26~27行為什麼可以直接用Data.ADD不懂?也是屬 06/25 23:49
luyaochu:於C#裡面的類別物件嗎?不然怎麼可以直接使用? 06/25 23:50
luyaochu:在27行後面,new DataObject()這裡?直接用new不太懂 06/25 23:51
luyaochu:謝謝 指教 06/25 23:51
KojIrOQQ:static Hashtable Data = new Hashtable();你沒看到這行 06/26 00:25
KojIrOQQ:嗎 Data是一個Hashtable,Data.Add()是hashtable的一個 06/26 00:27
KojIrOQQ:方法,用來加入新的key-value pair到hashtable裡 06/26 00:28
KojIrOQQ:DataObject是一個class,你在使用一個class執行個體時是 06/26 00:29
KojIrOQQ:不是要用new 配合constructor來初始化 06/26 00:30
teyou:先把 物件跟類別弄清楚 應該就懂了 06/26 00:55