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) なし (アプリケーションのどこでも Lists を使用していないため、一貫性を保つために開始したくありません。また、IEnumerable は、必要になるまでクエリが実行されないことを意味します)
- ループなし (具象クラスは使用していません。また、ループの使用を最小限に抑え、主に LINQ を使用するため、一貫性があります)