Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使foreach从列表中读取数据而不是从第一项中读取数据?_C# - Fatal编程技术网

C# 如何使foreach从列表中读取数据而不是从第一项中读取数据?

C# 如何使foreach从列表中读取数据而不是从第一项中读取数据?,c#,C#,我有以下代码: var rows = sheet.Descendants<Row>().ToList(); foreach (Row row in rows) { //some logic } 在上面的代码中,我得到了一些行集合并从中生成列表, 然后我在列表上创建foreach循环 我需要使foreach从行列表中的第二项读取,而不是从实现的第一项读取 实现它的优雅方式是什么 您可以使用 这将从第二行开始。是否保留foreach?如果您愿意使用for循环,您可以将迭代器初始化

我有以下代码:

var rows = sheet.Descendants<Row>().ToList();

foreach (Row row in rows)
{
  //some logic
}
在上面的代码中,我得到了一些行集合并从中生成列表, 然后我在列表上创建foreach循环

我需要使foreach从行列表中的第二项读取,而不是从实现的第一项读取

实现它的优雅方式是什么

您可以使用


这将从第二行开始。

是否保留foreach?如果您愿意使用for循环,您可以将迭代器初始化为1以跳过第一个结果。这里的意思真的不清楚。您目前正在迭代所有行,仅此而已。您的意思是要迭代除第一个元素之外的所有元素吗?如果是这样,使用Skip…听起来你甚至不需要for循环,如果你只想要第二项。列表[1]零基索引材料化,即ToList是冗余的here@DmitryBychenko您是对的,它在循环上下文中是多余的,但是这并不意味着它以后不会在代码中作为IList使用。我添加了一条注释只是为了确定,但是删除它是不正确的,因为它可能会破坏OP的代码。
var rows = sheet.Descendants<Row>().ToList(); //.ToList() is not neccesarry for this example, but may be necessary later on.
foreach (Row row in rows.Skip(1))
{
    //some logic
}