Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

VB -> C#: `= ""` should not be converted to `string.IsNullOrEmpty` when `Option Compare Text`

Abierto
#1,089 0 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp
Área
compilers

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

Good for coding agent output logic error VB -> C#
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

https://sharplab.io/#v2:DYLgbgRgNALiBOBXAdgHwPIAcYEsD2yABAMJ4C2mAhvAKaEAqNAHjALABQAkhXvDAM6EAygE9+MGmQ7dMvAYQCyOAMbw8/PADMYAOgBqOfokrAAQpX4qOHAAqIIwFSWAXBBoyfOXlxF/34chEGEdg5OQgAW1DQAJsL2ipQ4yAAUAJSBwVkAIjhkhIIAvCQR8ADqKQBkABIATAAMAGz1aYSVJeVVdU0tmVlBpMgawDQ6ZfA4EgAyyTQpRYQARIsZ7P3Bg8Oj45M0M8hzCwByeDARyQDmq1kAoshxQvYcd3G+rkA==

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

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de icsharpcode/CodeConverter

Todos los issues de icsharpcode/CodeConverter

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.