VB -> C#: `= ""` should not be converted to `string.IsNullOrEmpty` when `Option Compare Text`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Empieza rastreando cómo el convertidor gestiona la igualdad de cadenas de VB cuando se usa Option Compare Text, utilizando la entrada de VB proporcionada y la salida de C# errónea como reproducción. Añade un caso de regresión cuya salida convertida distinga la primera comparación de la comparación con null y, después, verifica que produzca las llamadas esperadas a Operators.CompareString y string.IsNullOrEmpty.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
VB.Net input code
Option Compare Text
Imports System
Imports Microsoft.VisualBasic
Public Class VisualBasicClass
Public Shared Sub Main()
Dim s = ChrW(&H2060) & ChrW(&H2060)
Console.WriteLine(s = "")
Console.WriteLine(s = Nothing)
End Sub
End Class
True
False
Erroneous output
using Microsoft.VisualBasic; // Install-Package Microsoft.VisualBasic
using Microsoft.VisualBasic.CompilerServices; // Install-Package Microsoft.VisualBasic
public partial class VisualBasicClass
{
public static void Main()
{
string s = Conversions.ToString(Strings.ChrW(0x2060)) + Strings.ChrW(0x2060);
Console.WriteLine(string.IsNullOrEmpty(s));
Console.WriteLine(string.IsNullOrEmpty(s));
}
}
False
False
Expected output
using Microsoft.VisualBasic; // Install-Package Microsoft.VisualBasic
using Microsoft.VisualBasic.CompilerServices; // Install-Package Microsoft.VisualBasic
public partial class VisualBasicClass
{
public static void Main()
{
string s = Conversions.ToString(Strings.ChrW(0x2060)) + Strings.ChrW(0x2060);
Console.WriteLine(Operators.CompareString(s, "", true));
Console.WriteLine(string.IsNullOrEmpty(s));
}
}
Details
- Product in use: e.g. icsharpcode.github.io/CodeConverter
- Version in use: web
- Did you see it working in a previous version, which?alaaaaa
- Any other relevant information to the issue, or your interest in contributing a fix. Roslyn will never do this fix. https://github.com/dotnet/roslyn/issues/71835
Strings composed of invisible characters (e.g. U+2060 and IVS (e.g. U+E0100)) are treated as equivalent to the empty string by VB only when Option Compare Text.
they are always told from null.
- 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
-
[C#]:主页联网更新的提示投稿横幅指向错误Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PCL-Community/PCL-CE#3652 ·
Los mantenedores suelen responder en 1 día
-
bug effort:S P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nightscout/nocturne#2012 ·
Los mantenedores suelen responder en 1 día
-
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