Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#1,089 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
csharp
Ambito
compilers

Direzione di ricerca

Inizia tracciando il modo in cui il convertitore gestisce l’uguaglianza tra stringhe VB con Option Compare Text, usando l’input VB fornito e l’output C# errato come riproduzione. Aggiungi un caso di regressione il cui output convertito distingua il primo confronto dal confronto con null, quindi verifica che produca le chiamate previste a Operators.CompareString e string.IsNullOrEmpty.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
C#
Stelle
913
Fork
243
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di icsharpcode/CodeConverter

Tutte le issue di icsharpcode/CodeConverter

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.