foreach语句不会将值添加到列表中

我不知道为什么foreach语句不向列表中添加值,帮助

foreach (var item in blocklines)
            {
                if (item.Contains(','))
                {
                    List<double> xyz = item.Split(',').Select(double.Parse).ToList();
                }
            }
评论
龙

循环的每次迭代都将创建一个新列表,不执行任何操作,并使它超出范围。相反,如果您想要一个列表,该列表在循环的每次迭代中都会被修改,然后在循环后可以被观察到,则首先仅创建一个列表,然后在循环中对其进行修改:

List<double> xyz = new List<double>();
foreach (var item in blocklines)
{
    if (item.Contains(','))
    {
        xyz.AddRange(item.Split(',').Select(double.Parse).ToList());
    }
}
// xyz is now avaiable here
点赞
评论