VB -> C#: LINQ query syntax conversion is incorrect when `Select` is followed by `Where`
まだ誰も着手していません。
評価
調査の方向性
VS拡張機能でVB.NETのサンプルを再現し、生成されたクエリと期待されるC#の出力を比較します。Selectの後にWhereが続く場合の変換経路を追跡します。生成されたクエリがdではなくiを選択し、フィルタリング式を維持していれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- C#
- スター
- 913
- フォーク
- 244
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
icsharpcode/CodeConverter のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
icsharpcode/CodeConverter#1271 · コメント 1 件 ·
-
C# -> VB
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
icsharpcode/CodeConverter#1281 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#
難易度 3/5 1〜2日 初心者へのやさしさ 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted codeオープンDifficult area VB -> C#
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
icsharpcode/CodeConverter#1272 ·
icsharpcode/CodeConverter の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NethermindEth/nethermind#14012 ·
メンテナーはふだん 1 日以内に返信
-
dependencies Status: Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
json-schema-org/website#2518 ·
メンテナーはふだん 1 日以内に返信
-
agentic-workflows
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
builtbybel/Flyoobe#498 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
builtbybel/CrapFixer#112 ·