VB -> C#: LINQ orderby and select are in wrong order
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Comienza reproduciendo la conversión de VB-to-C# con la entrada LINQ mostrada en este issue y compara la consulta generada con la salida esperada. Sigue la ruta de conversión que gestiona Select y Order By y verifica después que el C# generado conserva el orden y compila sin el error indicado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C#
- Estrellas
- 913
- Forks
- 243
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de icsharpcode/CodeConverter
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
icsharpcode/CodeConverter#1271 · 1 comentario ·
-
C# -> VB: most pattern matching fails to convertPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoC# -> VB
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
icsharpcode/CodeConverter#1281 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#: Handleres of sub properties being untrackedPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoVB -> C#
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted codeAbiertoDifficult area VB -> C#
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
icsharpcode/CodeConverter#1272 ·
Todos los issues de icsharpcode/CodeConverter
Issues similares
-
area:frontend bug FE P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
klasolsson81/jobbliggaren#2010 ·
Los mantenedores suelen responder en 1 día
-
[aw] Upgrade availableAbiertoagentic-workflows untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
area: homeblaze type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
RicoSuter/Namotion.Interceptor#630 ·
Los mantenedores suelen responder en 1 día
-
Akka.Hosting enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
microsoft/microsoft-ui-xaml#12158 ·
Los mantenedores suelen responder en 1 día