看板 C_Sharp 關於我們 聯絡資訊
我是個初學者,想把同一行裡面的相同資料給抓出來 這是我寫的部分內容: listBox1.Items.Clear(); int i int k; for (i = 0; i < 8; i++) { for (k = i; k < 7; k++) { if (s3[i, 0] == s3[k+1, 0]) { listBox1.Items.Add(s3[i, 0]+" "s3[k+1,0]); } } } 這是一個8列x行的陣列,我想把0行中所有相同的資料全部抓出來,寫在listBox1裡面 可是我寫完以後,發現我這樣會出現一種錯誤,就是他會重複抓到相同的資料,例如相 同資料有3筆,分別是在1、4、5列,我的寫法就會顯示出1、4列1、5列和4、5列,等於 第1列和4列重覆出現,有什麼寫法可以只出現1、4、5列呢? 麻煩有強者大大幫我解惑一下!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.197.126 ※ 編輯: lihsien 來自: 218.162.196.75 (07/21 00:25)
chrisQQ:建 list 全部加入之後再 list.Distinct().ToList(); 07/21 08:18
chrisQQ:刪除重複元素之後在用 AddRange 加到 listbox.items 中 07/21 08:18
chrisQQ:或是在插入 listbox.items 中就先判斷是否有重複值了。 07/21 08:19
chrisQQ:第一個方法似乎是 C# 3.0 限定。 07/21 08:19
lihsien:可以請你把你的寫法寫出來寄信給我嗎? 07/21 08:55
lihsien:因為我是新手 很多語法不懂!! 07/21 08:56
pico2k:請用Hashtable來處理資料的唯一性 07/21 09:52
chrisQQ:沒提到 hashtable 是因為他沒有要 key=>value 雖然可以塞 07/22 21:29
chrisQQ:null 或 "" 不過這樣會比較好嗎@@? 07/22 21:29
chrisQQ:要用 hashtable 的話就要記得加上 try catch(key 值重複) 07/22 21:30
chrisQQ:可以稍微 goolge 一下,以前有寫過但沒有背起來… 07/22 21:31