无法转换为' string' to' system.collections.generic.list string'

时间:2016-08-11 04:46:56

标签: c# string list typeconverter

我有两个清单

  1. 嵌套的字符串列表,
  2. 以字符串形式列出
  3. index列表中,我想添加linesOfContent common值,并且在中间我想添加单独的字符串":"

    为此,我写了一个代码,但是,我遇到了一个问题"无法转换为' string'到' system.collections.generic.list字符串'"。如何解决这个问题。

    int common = 10;
    List<List<string>> index = new List<List<string>>();
    List<int> linesOfContent = new List<int>();
    for(int i = 0; i < 5; i++)
    {
          for(int j = 0; j < 5; j++)
          {       
                 linesOfContent.Add(i+":"+common);
          }
          index.Add(linesOfContent);
    }
    

    预期输出:

    index[0][0] = 0:10
    index[0][1] = 1:10
    index[0][2] = 2:10
    

    ... ...

3 个答案:

答案 0 :(得分:2)

List字符串的Lists应包含Lists string,而不是Lists int

int common = 10;
List<List<string>> index = new List<List<string>>();
List<string> linesOfContent = new List<string>();
for(int i = 0; i < 5; i++)
{
    for(int j = 0; j < 5; j++)
    {       
        linesOfContent.Add(i.ToString() +":"+common.ToString());
    }
    index.Add(linesOfContent);
}

答案 1 :(得分:1)

apply plugin: 'com.android.model.application'列表中的每个项目都是index。当您尝试添加项目时,它应该是一个列表。但是,您正在尝试向其添加字符串,List<string>被视为字符串。

<强>解决方案:

Linq的linesOfContent+":"+common方法(又名Projection)可用于转换序列中的每个元素:

Select

请注意,构建循环的方式会导致一些重复的记录。

答案 2 :(得分:0)

这里是代码,没有foreach循环,而是使用linesOfContent.AddRange(Enumerable.Range(0, 5).Select(i => i.ToString() + ":" + common.ToString()).ToArray()); index.Add(linesOfContent);

{{1}}