C#列表<;字符串,列表<;字符串>&燃气轮机;如何?

C#列表<;字符串,列表<;字符串>&燃气轮机;如何?,c#,C#,我花了一些时间在互联网上寻找解决方案,但我的C#技能还处于初级水平,我没有找到任何方法来做我想做的事情 因此,情况如下: 我有一个web服务,它向我返回一个对象,在这个对象中有一个二维表。我想做的是沿着这个表运行,并将这些值放入列表中。为了说明这是一个示例以及我已经拥有的内容: // creation of a list like : List <String, List<String>> myList for (int i = 0; i < outPut.erro

我花了一些时间在互联网上寻找解决方案,但我的C#技能还处于初级水平,我没有找到任何方法来做我想做的事情

因此,情况如下:

我有一个web服务,它向我返回一个对象,在这个对象中有一个二维表。我想做的是沿着这个表运行,并将这些值放入
列表中。为了说明这是一个示例以及我已经拥有的内容:

// creation of a list like : List <String, List<String>> myList
for (int i = 0; i < outPut.errors.Length; i++)
{
    string error = outPut.errors[i].data.label;
    //myList.add(error);
    if (outPut.errors[i].data.label != "" && outPut.errors[i] != null)
    {
         for (int j = 0; j < outPut.errors[i].data.corrections.Length; j++)
         {
              string corrections  = outPut.errors[j].data.corrections[0][j].ToString();
              //myList.add(corrections)
         }  
    }
}
//创建类似于:list myList的列表
for(int i=0;i
因此,在本例中,我创建了一个二维列表,其中第一个参数是字符串,第二个参数是列表(就像二维表中的tab[x][y],其中一个x有多个y

显然,在C#中,你必须知道创建二维表格的确切大小,我们永远不知道这个表格的大小


那么,是否可以创建一个我想创建的列表,或者我应该用另一种方式创建列表?

要创建二维列表,请使用
list
定义一个列表,其中每个条目都是一个包含字符串的列表。您需要创建每个“行”列表,但不会自动为您创建这些列表


但是,这并不是你想要的,因为你有特殊的标签字段。在这种情况下,你应该用一个字符串标签创建一个对象,然后在里面列出它的列表。或者,如果你希望通过标签来查看事物,并且不会有重复的标签,你可以考虑一个<代码>字典。

这可以通过使用元组实现,如下所示:

List<Tuple<String, List<String>>>
列表
在这里查看Tuple的详细信息 基本上,它是一个用于存储元组的类,与您所追求的差不多。
第一项是字符串,第二项是列表

您的意思是
列表
列表
只有一个通用参数。列表不能是二维的,它不是数组。只需创建一个包含属性字符串和列表的封装类,然后用该类型的对象填充外部列表。更新:您可以使用DICT当然可以,但是迭代它需要更多的工作。你是在寻找
字典
,还是可以创建一个
数据表
?@Kroltan:List是完全有效的,顺便说一句@Kroltan,我已经看到了List,但问题是在这个列表中,每个元素都是一个列表,对我来说,我需要知道行的第一个元素是一个字符串第二行中的第二个元素是一个列表。或者如果列不需要排序,一个
字典
列不需要排序,如果我用tuple做对了,我可以有类似tuple=…的东西,并且有一个表作为第二个参数,而不给他这个表的大小?是的,我已经尝试了List,但我需要保留这个表事实上,labal是一个与列表相关的单个字符串,就像你在后面说的那样。我得到的表中不会有重复项,因为我会在将它们添加到myList之前删除所有重复项。我会寻找字典的东西,如果你有一个例子,我会很高兴地拿它来看看它到底做了什么。网上有很多例子,一个快速的google发现了它例如:请注意,字典可以很容易地为您检测重复项。好的,我已经在字典上找到了,这似乎是我需要的东西,我只有一个问题,是否可以在最后返回字典?(因为在此之后,我必须将其发送回我的Javascript,以便我可以处理此问题)。返回它们:是的。将它们传递回Javascript:我认为是的。这不是我做过的事情(我不太使用C)但我相信这是可能的,如果你在做这件事时遇到问题,可以作为一个单独的问题来问,你如何做取决于你使用的框架等等。