Enumerare le stringhe in C#
-
Crea enumerazione di stringhe con funzione di estensione in
C#
-
Crea enumerazione di stringhe con variabili costanti in
C#
-
Crea enumerazione di stringhe con la funzione
ToString()
inC#
Questo tutorial introdurrà metodi per creare un’enumerazione di stringhe in C#.
Crea enumerazione di stringhe con funzione di estensione in C#
Un’enumerazione è un insieme predefinito di valori costanti che una variabile può memorizzare. La classe enum
viene utilizzata per dichiarare un’enumerazione in C#. Per impostazione predefinita, il tipo di variabili all’interno della classe enum
è int. Non esiste un metodo integrato per dichiarare un’enumerazione con valori stringa. Se vogliamo dichiarare un’enumerazione con costanti stringa, possiamo usare la classe enum
e una funzione di estensione per raggiungere questo obiettivo. Il seguente esempio di codice ci mostra come creare un’enumerazione di valori stringa con la classe enum
e la funzione di estensione in C#.
using System;
namespace enum_with_string {
public enum ErrorLevel { None, Low, Medium, High }
public static class ErrorLevelExtensions {
public static string GetString(this ErrorLevel me) {
switch (me) {
case ErrorLevel.None:
return "NO ERRORS";
case ErrorLevel.Low:
return "LOW LEVEL ERROR";
case ErrorLevel.Medium:
return "MEDIUM LEVEL ERROR";
case ErrorLevel.High:
return "HIGH LEVEL ERROR";
default:
return "NO VALUE GIVEN";
}
}
}
class Program {
static void Main(string[] args) {
ErrorLevel e = ErrorLevel.None;
string output = e.GetString();
Console.WriteLine(output);
}
}
}
Produzione:
NO ERRORS
Abbiamo dichiarato l’enumerazione ErrorLevel
con i valori costanti None, Low, Medium, High
con la parola chiave enum
. Quindi abbiamo creato la funzione di estensione GetString()
che utilizza un’istruzione switch()
per determinare il valore dell’enumerazione e restituire una stringa in base al valore. Il risultato della funzione GetString()
viene salvato nella stringa output
.
Crea enumerazione di stringhe con variabili costanti in C#
Possiamo anche ottenere la funzionalità di un’enumerazione inizializzando alcune variabili costanti all’interno di una classe in C#. La parola chiave const
specifica che una variabile è ora costante e non è possibile modificarne il valore. L’esempio di codice seguente mostra come creare un’enumerazione di stringhe con variabili costanti in C#.
using System;
namespace enum_with_string {
public static class Error {
public const string None = "No Errors";
public const string Low = "Low Level Errors";
public const string Medium = "Medium Level Errors";
public const string High = "High Level Errors";
}
class Program {
static void Main(string[] args) {
String output = Error.Low;
Console.WriteLine(output);
}
}
}
Produzione:
Low Level Errors
Abbiamo dichiarato una public static class
denominata Error
e inizializzato tutte le variabili public const string
all’interno della classe. Il motivo per mantenere la classe static
è che non vogliamo creare un’istanza della classe Error
all’interno della funzione main()
. Abbiamo memorizzato il valore di Error.Low
all’interno della variabile stringa output
. Questo approccio è molto più semplice e di facile comprensione. La stessa cosa può essere fatta anche con una struttura con la parola chiave struct
al posto della parola chiave class
.
Crea enumerazione di stringhe con la funzione ToString()
in C#
Questo è un metodo improvvisato per convertire i nomi dei valori all’interno dell’enumerazione in stringa in C#. Possiamo usare la funzione ToString()
con l’istanza di un’enumerazione per convertire il nome del valore all’interno dell’enumerazione in una stringa. Il seguente esempio di codice ci mostra come creare un’enumerazione di stringhe con la funzione ToString()
in C#.
using System;
namespace enum_with_string {
public enum ErrorLevel { None, Low, Medium, High }
class Program {
static void Main(string[] args) {
ErrorLevel e = ErrorLevel.None;
string output = e.ToString();
Console.WriteLine(output);
}
}
}
Produzione:
None
Abbiamo convertito il nome None
all’interno dell’enumerazione ErrorLevel
in una stringa con la funzione ToString()
in C#. Questo metodo è facile da usare, ma presenta alcuni inconvenienti. Non possiamo ottenere il valore Low Level Errors
come i nostri esempi precedenti con questo approccio. Dobbiamo seguire le convenzioni di denominazione di C# in questo approccio. Questo metodo è consigliabile solo se vogliamo creare un’enumerazione di sole stringhe composte da una sola parola. Per qualsiasi altra cosa, dovremmo usare uno dei due modi discussi sopra.
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.
LinkedInArticolo correlato - Csharp String
- C# Converti Int in String
- C# Converti la stringa in Enum
- C# Converti la stringa in Datetime
- Convertire una stringa in booleano in C#
- Convertire una stringa in float in C#
- Convertire una stringa in un array di byte in C#