2011-05-11 66 views
0

我需要填充類副主題,看起來像這樣:我怎樣才能更好地在一個類中填充兩個數組?

public class SubTopic 
{ 
    public int[] SubTopicId { get; set; } 
    public string[] Description { get; set; } 
} 

到目前爲止,我有下面的代碼在描述中插入,但還不是SubTopicId。

var description = new List<string>(); 
description.Add("afds)."); 
description.Add("afas."); 
... 
... 
description.Add("aees."); 

new SubTopic { Description = description.ToArray()} 

誰能想到,我來用數字1,2,3 ...等的SubTopicId一個簡單的方法,也有可能,我可以填充副主題類更好 方式。比添加到列表然後轉換爲數組更好的東西?

+0

是否有任何特殊原因需要使用數組進行存儲?列表的內容會隨着時間而改變嗎? – 2011-05-11 06:54:58

+0

爲什麼不使用字典? – phoog 2011-05-11 07:07:47

+0

我選擇了一個數組,因爲我以後要做的是獲取該類的內容,然後將其轉換爲JSON對象並將其作爲字符串存儲。 Dictionary有這種可能嗎?如果是這樣,那可能是一個很好的解決方案。 – 2011-05-11 07:16:54

回答

0

你可以使用類和數組的初始化:

var subTopic = new SubTopic 
{ 
    SubTopicId = new[] { 1, 2, 3 }, 
    Description = new[] { "afds).", "afas.", "aees." } 
}; 
+0

你的方式看起來不錯,但我想自動生成數字,因爲它們總是按順序排列。有沒有辦法在不輸入{1,2,3}的情況下做到這一點?謝謝你,Jen – 2011-05-11 07:37:23

+0

@Jennifer,你可以這樣做:'SubTopicId = Enumerable.Range(1,15).ToArray()' – 2011-05-11 07:43:18

0

你可以做,如果你希望所有的內聯:

var x = new SubTopic { 
    Description = new string[] { "a", "b" }, 
    SubTopicId = new int[] { 1, 2, 3 } 
}; 
0
for (int i = 0; i < SubTopicId.Length; i++) 
{ 
    SubTopicId[i] = i; 
} 

對於字符串數組,已建議,你可以直接進行。

2
var description = new[]{"afds).", "afas.", /*...,*/ "aees."}; 
var subTopic = new SubTopic { 
    Description = description, 
    SubTopicId = Enumerable.Range(1, description.Length).ToArray() 
}; 
相關問題