如何counter
在 LINQ 查询中递增?
考虑以下
Public Class SimpleString
Public Property Value As String
End Class
...
Public Shared Sub SetStuff()
Dim stringList As IEnumerable(Of SimpleString) =
{New SimpleString With {.Value = "0"},
New SimpleString With {.Value = "0"},
New SimpleString With {.Value = "0"},
New SimpleString With {.Value = "0"},
New SimpleString With {.Value = "0"}}
Dim counter As Integer = 0
Dim newIntegerList As IEnumerable(Of SimpleString) =
(From i In stringList
Select New SimpleString With
{
.Value = (counter = counter + 1).ToString
})
End Sub
以上不起作用。
规则:
- 没有 C#(我知道它可以在 C# 中完成,但这是 VB.NET)
- 没有方法语法(我的查询很复杂,所以查询语法更可取)
- 没有 ToList 或 List(Of) (我不在我的应用程序中的任何地方使用列表,我宁愿不开始一致性。此外 IEnumerable 意味着查询在必要时才会执行)
- 没有循环(我没有使用具体的类。还有一致性,因为我尽量减少使用循环并主要使用 LINQ)