我正在使用C#。
我创建了两个名为Names
和Performances
的arraylists,其中的数据从我的数据库中填充。
我想创建一个arraylist或类似2维数组的东西
array[Name][Performance]
。
array[0][0]
=>应该给我第一个人的第一个表现数据array[0][1]
=>应该给我第一个第二个性能数据array[0][2]
=>应该给我第一个人第三个表现数据... 由于不同的SQL查询,Names
和Performance
的大小可以更改。
由于大小是可变的,我试图在这些循环中使用Name
和Performance
arraylists的循环和大小。我如何处理这个集合以容纳我的两个arraylists?
答案 0 :(得分:4)
为什么不使用通用列表?
然后,您可以创建一个包含Person及其性能数据的类型,如下所示:
class PersonPerformance
{
public string Name { get; set; }
public List<Performance> Performances { get; set; }
}
您可以轻松创建一个集合:
var performances = new List<PersonPerformance>();
答案 1 :(得分:1)
你可以使用类似的东西
IList<KeyValuePair<string, string>> innerList = new List<KeyValuePair<string, string>>();
IList<IList<KeyValuePair<String,string>>> list=new List<IList<KeyValuePair<string, string>>>();
list.Add(innerList);
KeyValuePair包含Name和Perfomance元素
答案 2 :(得分:0)
我假设你的名字是字符串类型。
我通常会这样做(如果我没有设定尺寸)
List<KeyValuePair<string, TYPE_X>> list = new List<KeyValuePair<string, TYPE_X>>();
或(尺寸已知)
KeyValuePair<string, TYPE_X>[] array = new KeyValuePair<string, TYPE_X>[size];
或更好
public Dictionary<string, TYPE_X> dict = new Dictionary<string, TYPE>();
如果名称是唯一的,我想像那样访问它们(不按顺序):
TYPE_X object = dict["myName"];
答案 3 :(得分:0)
您可以使用使用Dictionary<Name,List<Performance>>
类型
因此,对于每个名称,您都会获得一组表演