Wie man VBs "Iterationsvariable sollte nicht im Lambda-Ausdruck verwendet werden" unterdrückt

Ich arbeite mit LINQ in VB.NET und manchmal erhalte ich eine Abfrage wie

For i = 0 To 10
  Dim num = (From n In numbers Where n Mod i = 0 Select n).First()
Next

und dann kommt die Warnung "Die Verwendung der Iterationsvariablen in einem Lambda-Ausdruck kann zu unerwarteten Ergebnissen führen. Erstellen Sie stattdessen eine lokale Variable in der Schleife und weisen Sie ihr den Wert der Iterationsvariablen zu. "

Ich weiß, dass es nicht ratsam ist, die Iterationsvariable im Lambda-Ausdruck zu verwenden, da Lambda-Ausdrücke nur bei Bedarf ausgewertet werden. Diese Frag geht darum)

Nun meine Frage ist, wie man diese Warnung in Fällen unterdrückt, in denen der Ausdruck direkt ausgewertet wird, mit Konstruktionen wie First (), Single (), ToList () usw. (Es ist nur eine Warnung, aber ich mag meinen Code sauber.

(Eine lokale Variable zu deklarieren und die Iterationsvariable an sie zu übergeben, ist eine Option, aber ich suche nach einer sauberen Lösung.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage