CodeConverter icon indicating copy to clipboard operation
CodeConverter copied to clipboard

VB -> C#: LINQ query syntax conversion is incorrect when `Select` is followed by `Where`

Open jswolf19 opened this issue 1 year ago • 0 comments

VB.Net input code

Public Class Test
    Public Sub Test()
        Dim data = From d In {1.2, 2.2, 3.4, 5.6}
                   Select i = CType(Math.Floor(d), Integer)
                   Where i Mod 2 = 1
    End Sub
End Class

Erroneous output

public class TestType {
    public void Test() {
        var data = from d in new[] { 1.2d, 2.2d, 3.4d, 5.6d }
                   let i = (int)Math.Floor(d)
                   where i % 2 == 1
                   select d;
    }
}

Expected output

public class TestType {
    public void Test() {
        var data = from d in new[] { 1.2d, 2.2d, 3.4d, 5.6d }
                   let i = (int)Math.Floor(d)
                   where i % 2 == 1
                   select i;
    }
}

Details

  • Product in use: VS extension
  • Version in use: 9.2.6.0

jswolf19 avatar Jan 09 '25 04:01 jswolf19