Heim >Backend-Entwicklung >C++ >Wie teile ich einen einzelnen Befehlszeilenparameter-String in ein String-Array in C# auf?
Teilen Sie die Befehlszeilenparameterzeichenfolge in ein String-Array in C# auf
In C# werden Befehlszeilenargumente als String-Arrays übergeben string[]
. Die Frage ist, wie man dieses Array aus einer einzelnen Zeichenfolge mit Befehlszeilenparametern extrahiert.
Es gibt keine direkt verfügbare Standardfunktion, um diese Aufgabe zu erfüllen. Wir können jedoch benutzerdefinierte Funktionen oder reguläre Ausdrücke verwenden, um die Zeichenfolge korrekt aufzuteilen.
Strings können mithilfe benutzerdefinierter Funktionen basierend auf Zeichenprüfungen aufgeteilt werden. Diese Funktion untersucht jedes Zeichen und bestimmt, ob die Zeichenfolge geteilt werden soll. Die Funktionsform lautet wie folgt:
<code class="language-csharp">public static IEnumerable<string> SplitCommandLine(string commandLine) // ...</code>
Der Algorithmus ist wie folgt:
inQuotes
auf false
. inQuotes
um, wenn das Zeichen „“‘ ist.inQuotes
false
ist und das Zeichen „ “ ist. Die Funktionalität kann mit den folgenden Erweiterungsmethoden erweitert werden:
public static IEnumerable<string> Split(this string str)
public static string TrimMatchingQuotes(this string input, char quote)
Um diese Funktion zu verwenden, geben Sie eine einzelne Zeichenfolge mit den Befehlszeilenargumenten an und erhalten Sie ein string[]
-Array mit den einzelnen Argumenten:
<code class="language-csharp">string[] parameterArray = SplitCommandLine(parameterString).ToArray();</code>
<code class="language-csharp">public static void Test(string cmdLine, params string[] args) // ...</code>
Benutzerdefinierte Tests können verwendet werden, um die Genauigkeit des Segmentierungsalgorithmus zu überprüfen. Diese Funktion vergleicht das geteilte Array mit dem erwarteten Array und stellt sicher, dass sie gleich sind.
Durch die Verwendung einer benutzerdefinierten Funktion oder eines regulären Ausdrucks können wir die Zeichenfolge, die die Befehlszeilenparameter enthält, effektiv in ein string[]
-Array aufteilen und die einzelnen Parameter erfassen, genau wie C# dies bei der Angabe von Parametern in der Befehlszeile tut.
Das obige ist der detaillierte Inhalt vonWie teile ich einen einzelnen Befehlszeilenparameter-String in ein String-Array in C# auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!