[問題]請問一下 謝謝

看板C_Sharp作者 (kuyaochu)時間17年前 (2008/06/25 10:52), 編輯推噓3(3014)
留言17則, 3人參與, 最新討論串1/1
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

06/25 21:41, , 1F
其實就是Key-Value的概念 hashtable和dictionary很像,
06/25 21:41, 1F

06/25 21:43, , 2F
用一個key來當作其索引來搜尋到裡面的值
06/25 21:43, 2F

06/25 21:45, , 3F
在這個範例key是用string type,因此以後你要取hashtable
06/25 21:45, 3F

06/25 21:46, , 4F
的資料只要用類似Data["X-Ray"]就可以取出相對應的
06/25 21:46, 4F

06/25 21:46, , 5F
DataObject物件了
06/25 21:46, 5F

06/25 23:44, , 6F
我剛剛搜尋了google的網頁 查了一下Hashtable
06/25 23:44, 6F

06/25 23:46, , 7F
網頁上是說他是一個集合,金鑰,值組儲存並使用金鑰來雜湊
06/25 23:46, 7F

06/25 23:49, , 8F
至於程式的26~27行為什麼可以直接用Data.ADD不懂?也是屬
06/25 23:49, 8F

06/25 23:50, , 9F
於C#裡面的類別物件嗎?不然怎麼可以直接使用?
06/25 23:50, 9F

06/25 23:51, , 10F
在27行後面,new DataObject()這裡?直接用new不太懂
06/25 23:51, 10F

06/25 23:51, , 11F
謝謝 指教
06/25 23:51, 11F

06/26 00:25, , 12F
static Hashtable Data = new Hashtable();你沒看到這行
06/26 00:25, 12F

06/26 00:27, , 13F
嗎 Data是一個Hashtable,Data.Add()是hashtable的一個
06/26 00:27, 13F

06/26 00:28, , 14F
方法,用來加入新的key-value pair到hashtable裡
06/26 00:28, 14F

06/26 00:29, , 15F
DataObject是一個class,你在使用一個class執行個體時是
06/26 00:29, 15F

06/26 00:30, , 16F
不是要用new 配合constructor來初始化
06/26 00:30, 16F

06/26 00:55, , 17F
先把 物件跟類別弄清楚 應該就懂了
06/26 00:55, 17F
文章代碼(AID): #18ORBk_V (C_Sharp)