你能告诉我如何将列表中的元素放到C#中的二维数组中?
tura = new string[howManyWords, 6];
howManyWords = 0;
foreach (words word in wc.words)
{
if (word.CategoryNumber == scb.Category)
{
tura[howManyWords] ......; howManyWords++;
}
}
我有一个XML文件列表。我在Unity工作。
<?xml version="1.0" encoding="utf-8"?>
<WordCollection>
<Words>
<Word name="$mezczyzna">
<CategoryNumber>1</CategoryNumber>
<PolishName>mężczyzna</PolishName>
<EnglishName>a man</EnglishName>
<AudioName>man.mp3</AudioName>
<ImageName>man</ImageName>
<ImageLocalisationWidth>200</ImageLocalisationWidth>
<ImageLocalisationHigh>700</ImageLocalisationHigh>
</Word>
</Words>
</WordCollection>
答案 0 :(得分:1)
因为我们认为你的意思是字典和ContentNumber,所以这是一个例子:
void Main()
{
List<Word> Words = new List<UserQuery.Word> { new Word { CategoryNumber = 0, EnglishName = "WORD1" }, new Word { CategoryNumber = 1, EnglishName = "WORD2" }, new Word { CategoryNumber = 1, EnglishName = "WORD3" } };
Dictionary<CategoryTypes, List<Word>> categoryWords = Words.GroupBy(word => word.CategoryNumber).ToDictionary(x => (CategoryTypes)x.Key, x => x.ToList());
if (categoryWords.ContainsKey(CategoryTypes.Category2))
{
List<Word> words = categoryWords[CategoryTypes.Category2];
for (int i = 0; i < words.Count; i++)
{
Console.WriteLine(words[i].EnglishName);
}
}
}
class Word
{
public int CategoryNumber { get; set; }
public string EnglishName { get; set; }
}
enum CategoryTypes
{
Category1 = 0,
Category2 = 1
}
然后,您可以按枚举类型调用字典categoryWords,然后只有您的单词列表。
答案 1 :(得分:-1)
你能使用LINQ吗?它提供了一个ToArray()方法,这可能是您最简单的选择。像这样:
> var list = new List<string> { "one", "two", "three" };
> var array = list.ToArray();
> list
List<string>(3) { "one", "two", "three" }
> array
string[3] { "one", "two", "three" }
>