【问题标题】:Difficulties retrieving List<int> within List<List<int>>在 List<List<int>> 中检索 List<int> 有困难
【发布时间】:2016-03-03 09:23:10
【问题描述】:

以下代码有问题:

foreach (var result in results)
{
    foreach (int individualresult in result)
    {
         //Operation
    }
}

'results' 是一个List&lt;List&lt;int&gt;&gt;,我正在尝试从'results' 列表列表中的每个列表中检索每个整数(对不起,如果这令人困惑),但是当我运行代码时没有收到错误但它没有不要比第一行更进一步。 我把它放在一个“try catch”中,它没有发现任何异常或错误,所以我对它为什么不起作用感到困惑。此外,我尝试将var 更改为List&lt;int&gt;,但这也没有改变任何东西。

我们将不胜感激任何和所有帮助。谢谢

【问题讨论】:

  • 请显示您如何获取列表,您发布的代码应该可以工作
  • 请显示minimal reproducible example。我们目前没有足够的信息来帮助您。
  • 我假设你的List&lt;List&lt;int&gt;&gt; 是空的
  • 尝试调试,在外部 foreach 循环内的第一个大括号处设置断点,然后检查结果,如果结果为空,则永远不会到达内部 foreach 循环。如果它不为空,则对内部 foreach 循环执行相同的操作并检查结果,如果为空,则将永远无法执行您的操作。如果两者都不是,请再次提供反馈。

标签: c# list int


【解决方案1】:

在控制台应用程序中尝试此代码并检查输出。我假设你的结果是空的,或者你的结果中的每个单独的 List 都是空的。

Console.WriteLine("Start");
if (results == null || !results.Any())
    Console.WriteLine("No result received!");

foreach (var result in results)
{
    Console.WriteLine("new result-set");
    if (result == null || !result.Any())
        Console.WriteLine("    Result: Empty list!");

    foreach (var individualresult in result)
    {
        Console.WriteLine("   Result: " + individualresult);
    }
}
Console.WriteLine("End");
Console.Readline();

【讨论】:

    【解决方案2】:

    看看这个例子可能对你有帮助

        class Program
    {
    
        static void Main(string[] args)
        {
    
            List<int> list1d = new List<int>();
            List<List<int>> list2d = new List<List<int>>();
    
            for (int i = 0; i < 10; i++)
            {
                list1d = new List<int>();
                for (int j = 0; j < 10; j++)
                {
                    list1d.Add(i * j + i);
                }
                list2d.Add(list1d);
            }
    
    
            foreach (var result in list2d)
            {
    
                foreach (var i  in result)
                {
                    Console.WriteLine(i);
                }
    
            }
    
            Console.ReadKey();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多