Как подавить 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 () и т. Д. (Это только предупреждение, но мне нравится мой чистый код .)

(Объявление локальной переменной и передача ей итерационной переменной - вариант, но я ищу чистое решение.)

Ответы на вопрос(1)

Ваш ответ на вопрос