VB -> C#: LINQ orderby and select are in wrong order
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện quá trình chuyển đổi VB-to-C# với đầu vào LINQ được hiển thị trong issue này và so sánh truy vấn được tạo với đầu ra mong đợi. Theo dõi đường dẫn chuyển đổi xử lý Select và Order By, sau đó xác minh rằng C# được tạo vẫn giữ nguyên thứ tự và biên dịch mà không gặp lỗi đã báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
VB.Net input code
Public Class ConversionTest7
Private Class MyEntity
Property EntityId As Integer
Property FavoriteColorId As Integer
Property Name As String
End Class
Private Class MyColor
Property ColorId As Integer
Property Color As String
End Class
Public Sub BugRepro()
Dim entities As New List(Of MyEntity)
Dim colors As New List(Of MyColor)
Dim wrongOrder = (From e In entities
Join c In colors On c.ColorId Equals e.FavoriteColorId
Where e.FavoriteColorId > 0 And c.Color = "green"
Select e, c
Order By e.Name).ToList
End Sub
End Class
Erroneous output
public class ConversionTest7
{
private class MyEntity
{
public int EntityId { get; set; }
public int FavoriteColorId { get; set; }
public string Name { get; set; }
}
private class MyColor
{
public int ColorId { get; set; }
public string Color { get; set; }
}
public void BugRepro()
{
var entities = new List<MyEntity>();
var colors = new List<MyColor>();
var wrongOrder = (from e in
from e in entities
join c in colors on e.FavoriteColorId equals c.ColorId
where e.FavoriteColorId > 0 & c.Color == "green"
select new { e, c }
orderby e.Name
select e).ToList();
}
}
Expected output
var wrongOrder = (from e in entities
join c in colors on e.FavoriteColorId equals c.ColorId
where e.FavoriteColorId > 0 & c.Color == "green"
orderby e.Name
select new { e, c }).ToList();
Details
- Product in use: VS extension
- Version in use: 9.2.2.0
- Even though it's bad practice, Visual Studio allows the OrderBy to be after the Select when writing VB.NET. But after converting to C#, VS shows an error with the code. The converter should swap the OrderBy and Select statements in this example to prevent the error.
- The converted code above also illustrates issue #931 but I think it's a separate problem.
- Ngôn ngữ chính
- C#
- Star
- 913
- Fork
- 243
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của icsharpcode/CodeConverter
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
icsharpcode/CodeConverter#1271 · 1 bình luận ·
-
C# -> VB: most pattern matching fails to convertCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởC# -> VB
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
icsharpcode/CodeConverter#1281 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#: Handleres of sub properties being untrackedCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởVB -> C#
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted codeĐang mởDifficult area VB -> C#
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 74/100
icsharpcode/CodeConverter#1272 ·
Tất cả issue của icsharpcode/CodeConverter
Issue tương tự
-
[Doc Gap] Document new --enable-public-network-access breaking change for azurebackup vault createĐang mởcopilot documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area-dashboard
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
0 - Backlog Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
BrighterCommand/Brighter#4539 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
area-networking
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
dotnet/aspnetcore#69671 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày