字典到列表
Dictionary<string, double[]> dict = new Dictionary<string, double[]>();
dict.Add("1", new double[] { 1.10, 1.20 });
dict.Add("2", new double[] { 2.10, 2.20 });
dict.Add("3", new double[] { 3.10, 3.20 });
dict.Add("4", new double[] { 4.10, 4.20 });
dict.Add("5", new double[] { 5.10, 5.20 });
var lstRecord = dict.Select(i => new { Key = i.Key, Val1 = i.Value[0], Val2 = i.Value[1] }).ToList();
dataGridView1.DataSource = lstRecord;
字典數據表
private void button1_Click(object sender, EventArgs e)
{
Dictionary<string, double[]> dict = new Dictionary<string, double[]>();
dict.Add("1", new double[] { 1.10, 1.20 });
dict.Add("2", new double[] { 2.10, 2.20 });
dict.Add("3", new double[] { 3.10, 3.20 });
dict.Add("4", new double[] { 4.10, 4.20 });
dict.Add("5", new double[] { 5.10, 5.20 });
dataGridView1.DataSource = Dictionary2Table(dict);
}
public DataTable Dictionary2Table(Dictionary<string, double[]> dict)
{
DataTable dt = new DataTable();
dt.Columns.Add("key", typeof(string));
dt.Columns.Add("Value1", typeof(double));
dt.Columns.Add("Value2", typeof(double));
dict
.Select(i => new { Key = i.Key, Val1 = i.Value[0], Val2 = i.Value[1] })
.ToList()
.ForEach(i=>dt.Rows.Add(i.Key,i.Val1,i.Val2));
return dt;
}
希望這有助於
這不是我很清楚自己想要達到的目標。你的問題就像你想把鍵和值混合在一個列表中一樣。將它綁定到網格會導致一列中包含鍵和值。這似乎沒有太大意義。也許你可以詳細闡述一下? – 2012-08-16 06:01:22
@DanielHilgarth - 嗨丹尼爾。我試圖讓每個鍵(字符串)和值(double [0]和double [1])顯示在其自己的行中,但在單獨的列中。我希望這有助於澄清它:-) 在上面的代碼中,我可以將一個'dictionary'轉換爲'list'。當我將'list'綁定到網格時,它將在列中顯示**鍵**(字符串),並且**值**(大小爲2的雙數組)會出現在另一列中,但顯示爲一個數組對象(值不可見)。 我需要將數組中的值顯示在自己的列中。 – 2012-08-16 07:00:15
請參閱下面的答案。 – 2012-08-16 07:03:34