使用C#foreach元组

cnd*_*cnd 12 c# tuples

如何在foreach循环中使用元组?

以下代码不起作用:

foreach Tuple(x, y) in sql.lineparams(lines)
{

}
Run Code Online (Sandbox Code Playgroud)

sql.lineparams(lines)是元组数组 <int, string>

Øyv*_*hen 25

元组由什么组成?称为x和y的类型?在这种情况下,这应该是你的语法:

foreach (Tuple<x, y> tuple in sql.lineparams(lines))
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果元组实际上由其他类型组成,如int和string,它将是这样的:

foreach (Tuple<int, string> tuple in sql.lineparams(lines))
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以让编译器为您处理:

foreach (var tuple in sql.lineparams(lines))
{
  ...
}
Run Code Online (Sandbox Code Playgroud)


Jam*_*son 14

使用 C# 7,您还可以直接引用元组的内容:

foreach ((x xVar, y yVar) in sql.lineparams(lines))
{

}
Run Code Online (Sandbox Code Playgroud)