Confronta due stringhe ignorando le maiuscole / minuscole in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Confronto tra stringhe senza distinzione tra maiuscole e minuscole con il metodo String.ToUpper() in C#
  2. Confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.ToLower() in C#
  3. Confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.Equals() in C#
Confronta due stringhe ignorando le maiuscole / minuscole in C#

Questa esercitazione illustrerà i metodi per eseguire un confronto senza distinzione tra maiuscole e minuscole di 2 stringhe in C#.

Confronto tra stringhe senza distinzione tra maiuscole e minuscole con il metodo String.ToUpper() in C#

Se vogliamo confrontare due variabili stringa ignorando i casi, possiamo convertire entrambe le stringhe in caratteri maiuscoli e quindi confrontarli. Il metodo String.ToUpper() converte una stringa in caratteri maiuscoli. Il seguente esempio di codice ci mostra come possiamo effettuare un confronto senza distinzione tra maiuscole e minuscole di due variabili stringa con il metodo String.ToUpper() in C#.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.ToUpper() == var2.ToUpper()) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Produzione:

Strings are equal

Nel codice precedente, abbiamo convertito le variabili stringa var1 e var2 in caratteri maiuscoli con la funzione String.ToUpper() e quindi confrontato le stringhe maiuscole risultanti.

Confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.ToLower() in C#

Possiamo anche eseguire un confronto di stringhe senza distinzione tra maiuscole e minuscole convertendo prima entrambe le variabili di stringa in caratteri minuscoli e quindi confrontandole. La funzione String.ToLower() viene utilizzata per convertire una stringa in caratteri minuscoli. Il seguente esempio di codice ci mostra come possiamo eseguire un confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.ToLower() in C#.

using System;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.ToLower() == var2.ToLower()) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Produzione:

Strings are equal

Nel codice precedente, abbiamo convertito le variabili stringa var1 e var2 in caratteri minuscoli con il metodo String.ToUpper() e quindi confrontato le stringhe minuscole risultanti.

Confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.Equals() in C#

Entrambi i metodi discussi sopra funzionano bene, ma il loro utilizzo presenta un grosso svantaggio. Alcune lettere vengono cambiate in lettere completamente diverse nella lingua inglese se usiamo le funzioni String.ToUpper() o String.ToLower() in C#. Per eliminare questo errore possiamo usare il campo StringComparison.OrdinalIgnoreCase come parametro della funzione String.Equals(). La funzione String.Equals() viene utilizzata per confrontare due variabili stringa in C#. La funzione String.Equals() restituisce true se le stringhe sono uguali e false se le stringhe non sono uguali. Il seguente esempio di codice ci mostra come possiamo eseguire un confronto tra stringhe senza distinzione tra maiuscole e minuscole con la funzione String.Equals() in C#.

using System;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.Equals(var2, StringComparison.OrdinalIgnoreCase)) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Produzione:

Strings are equal

Nel codice precedente, abbiamo effettuato un confronto di stringhe senza distinzione tra maiuscole e minuscole delle variabili stringa var1 e var2 con la funzione String.Equals() il cui parametro è il campo StringComparison.OrdinalIgnoreCase.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Csharp String