2017-09-25 95 views
0

我有以下問題:C# - 字典<字符串,列表<string>>到數據網格

我有列表的填充字典,每個提升已經指定的,公知的長度,只包含字符串,一個例子元件將是:

d1[key] = [ "Text1", "Text2", "Text3", "Text4", "0", "0", "0", "0", "0" ] 

datagrid將具有與鍵和8個列表元素中的每一個對應的預先聲明的列,總共9列。

我已經寫了這個試圖填充DataGrid,是否有一種更有效的方式,基本上寫每一行到數據網格。字典雖然可能有1k以上的鍵。

public static void DictionaryToDataGrid(Dictionary<string, List<string>> inputdict1) 
    { 
     Dictionary<string, List<string>> d1 = inputdict1; 

     foreach (KeyValuePair<string, List<string>> item in d1) 
     { 
      DatagridForm.grid.Rows.Add(item.Key, item.Value[0], item.Value[1], item.Value[2]); 
     } 
    } 

有沒有更快,更有效的方法來做到這一點?謝謝。

+0

我認爲你使用的方法是非常有效的。 – jdweng

+0

只需將參數複製到'd1'並直接使用'inputdict1'即可。 – Filburt

+0

會更適合[codereview.se]。 – Filburt

回答

2

一個較短的版本是:

foreach (KeyValuePair<string, List<string>> item in inputdict1) 
     DatagridForm.grid.Rows.Add(item.Key, item.Value[0], item.Value[1], item.Value[2]); 

這也有點更有效,因爲你不創建一個新的變量D1,並引用的inputdict1的內容它(感謝啓示錄)。

希望這會有所幫助。

+1

它只是將引用賦值給一個新的變量。沒有任何內容被複制到'd1'。 – apocalypse

相關問題