Как подавить VB «Итерационная переменная не должна использоваться в лямбда-выражении»
Я работаю с LINQ в VB.NET, и иногда я получаю запрос, как
For i = 0 To 10
Dim num = (From n In numbers Where n Mod i = 0 Select n).First()
Next
и тогда приходит предупреждениеИспользование переменной итерации в лямбда-выражении может привести к неожиданным результатам. Вместо этого создайте локальную переменную в цикле и присвойте ей значение переменной итерации. "
Я знаю, что не рекомендуется использовать переменную итерации в лямбда-выражении, потому что лямбда-выражения оцениваются только при необходимости. (Этот вопрос об этом)
Теперь мой вопрос: как подавить это предупреждение в тех случаях, когда выражение вычисляется на месте, с помощью таких конструкций, как First (), Single (), ToList () и т. Д. (Это только предупреждение, но мне нравится мой чистый код .)
(Объявление локальной переменной и передача ей итерационной переменной - вариант, но я ищу чистое решение.)