我想创建一个列表数组,其中包含一个字符串和一个数组列表。
例如: 我想要这个。
list(0)---字符串值
列表(0)--- list(0) - 字符串值
list(0)---- list(1) - string value
list(1)---字符串值
列表(1)--- list(0) - 字符串值
list(1)---- list(1) - string value
依旧......
我将如何申报?
我试过了:
List<List<String>> list = new List<List<string>>(); // but it didn't work.
List<string[]> arrayList = new List<string[]>(); // again it didn't work..
这可以申报吗? 如果是这样的话?
答案 0 :(得分:1)
这不是Dictionary<string, string[]>
吗?
var x = new Dictionary<string, string[]>();
x.Add("string1", new string[] {"a", "b", "c"})
然后你就可以得到那本词典的清单。
var list = new List<Dictionary<string, string[]>>();
list.Add(x);
答案 1 :(得分:0)
正如我在您的数据结构中看到的那样,您已经要求包含两个List
的A List
并且所有这些string
类型都相同Dictionary
那么您应该使用{ {1}}。作为List
的单一类型,您可以一次为其添加一个值。试试Dictionary
,
Dictionary<string, string> dictionary = new Dictionary<string, string>();
或者如果您希望Dictionary
包含List
string
,
Dictionary<List<string>, List<string>> dictionary = new Dictionary<List<string>, List<string>>();
答案 2 :(得分:0)
这对你有用吗?
public class Tree<T> : List<Tree<T>>
{
public Tree(T value) { this.Value = value; }
public T Value { get; set; }
}
它不是数组,而是列表,但它的结构大致相同。
然后你可以像这样分配它:
var trees = new []
{
new Tree<string>("Branch 1")
{
new Tree<string>("Leaf 1.1"),
new Tree<string>("Leaf 1.2"),
},
new Tree<string>("Branch 2")
{
new Tree<string>("Leaf 2.1"),
new Tree<string>("Leaf 2.2"),
},
};
答案 3 :(得分:0)
试试这个
List<List<String>> str_2d_list = new List<List<String>>();
List<String> l1 = new List<string>();
l1.Add("l1.string1");
l1.Add("l1,string2");
List<String> l2 = new List<string>();
l2.Add("l2.string1");
l2.Add("l2,string2");
str_2d_list.Add(l1);
str_2d_list.Add(l2);
答案 4 :(得分:0)
如果要创建字符串和列表的数组,请在代码中使用第二种方法。但如果你想在列表中使用第一种方式列表。
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
internal class Program
{
private static void Main(string[] args)
{
// an example of list of strings
List<string> names = new List<string>();
names.Add("Mike");
names.Add("Sarah");
List<string> families = new List<string>();
families.Add("Ahmadi");
families.Add("Ghasemi");
// 1st way
List<List<string>> outsideList = new List<List<string>>();
outsideList.Add(names);
outsideList.Add(families);
// 2nd way
Dictionary<string, List<string>> d = new Dictionary<string, List<string>>();
d.Add("first", names);
d.Add("second", families);
// how to access list<list<>>
foreach (List<string> list in outsideList)
{
foreach (string s in list)
Console.WriteLine(s);
}
// how to access list inside dictionary
foreach (List<string> list in d.Values)
{
foreach (string s in list)
Console.WriteLine(s);
}
}
}
}