这是我的问题: 我有一个对象“Strip”,我需要有一个列表或这些条带的数组“stripList”,然后我需要有一个来自不同stripList的列表,我称之为“listOfStripList”。我知道我可以这样保存:
List<List<Strip>> listOfStripList=new List<List<Strip>>();
我想以这种方式拥有这个对象的原因是因为每次我想要访问每个stripList而不使用For循环。 例如,我想说listOfStripList [1],这与第一个条带列表有关。
有没有办法按数组定义这些列表?
答案 0 :(得分:0)
List<T>
和T[]
都允许使用索引器(也就是[]
运算符)。所以您可以像下面这样使用您的列表:
List<Strip> firstList = listOfStripList[0];
虽然,如果你必须将它作为一个数组,你可以这样做:
List<Strip>[] arrayOfListStrip = listOfStripList.ToArray();
答案 1 :(得分:0)
listOfStripList[0]
会为您提供List<Strip>
个对象。致电listOfStripList[0][0]
应该会为您提供listOfStripList
这是一个小提琴: https://dotnetfiddle.net/XdDggB
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<List<Strip>> listOfStripLists = new List<List<Strip>>();
for(int j = 65; j < 100; j++){
List<Strip> stripList = new List<Strip>();
for(int i = 0; i < 10; i++){
stripList.Add(new Strip(){myval = ((char)j).ToString() + i.ToString()});
}
listOfStripLists.Add(stripList);
}// end list of list
Console.WriteLine(listOfStripLists[0][1].myval);
}
public class Strip
{
public string myval {get;set;}
}
}