Diviser la chaîne de paramètres de ligne de commande en un tableau de chaînes en C#
En C#, les arguments de ligne de commande sont transmis sous forme de tableaux de chaînes string[]
. La question est de savoir comment extraire ce tableau d'une seule chaîne contenant des paramètres de ligne de commande ?
Il n'existe pas de fonction standard directement disponible pour accomplir cette tâche. Cependant, nous pouvons utiliser des fonctions personnalisées ou des expressions régulières pour diviser correctement la chaîne.
Les chaînes peuvent être divisées à l'aide de fonctions personnalisées basées sur la vérification des caractères. Cette fonction examine chaque caractère et détermine si la chaîne doit être divisée. La forme de la fonction est la suivante :
<code class="language-csharp">public static IEnumerable<string> SplitCommandLine(string commandLine) // ...</code>
L'algorithme est le suivant :
inQuotes
à false
. inQuotes
si le caractère est '"'.inQuotes
est false
et que le caractère est ' '. La fonctionnalité peut être étendue à l'aide des méthodes d'extension suivantes :
public static IEnumerable<string> Split(this string str)
public static string TrimMatchingQuotes(this string input, char quote)
Pour utiliser cette fonction, fournissez une seule chaîne contenant les arguments de la ligne de commande et recevez un string[]
tableau contenant les arguments individuels :
<code class="language-csharp">string[] parameterArray = SplitCommandLine(parameterString).ToArray();</code>
<code class="language-csharp">public static void Test(string cmdLine, params string[] args) // ...</code>
Des tests personnalisés peuvent être utilisés pour vérifier l'exactitude de l'algorithme de segmentation. Cette fonction compare le tableau divisé avec le tableau attendu et affirme qu'ils sont égaux.
En utilisant une fonction personnalisée ou une expression régulière, nous pouvons diviser efficacement la chaîne contenant les paramètres de ligne de commande en un string[]
tableau, capturant les paramètres individuels, tout comme le fait C# lors de la spécification des paramètres sur la ligne de commande.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!