J'ai donc un conditionnel qui ressemble actuellement à ceci ... J'ai besoin d'ajouter quelques caractères de plus que je veux vérifier et je me demandais s'il y a une syntaxe plus condensée Pour accomplir la même chose? Quelque chose de similaire à celui de SQL dans l'opérateur? P> if ( input IN (",", "/", @"\", ....etc ) )
8 Réponses :
Pensez à utiliser Regex (spécifier des caractères que vous souhaitez enregistrer entre crochets - rappelez-vous que certains d'entre eux doivent être échappés):
new[] {",", "/"}.Any(input.Contains)
à quoi ça se passe?
Une seule chose: Indexofany ne gère que des caractères simples, il ne gite pas de chaînes.
Dans l'OP, seuls les seuls caractères sont vérifiés.
Bien sûr, c'était juste une note latérale, car l'index a en fait une version surchargée avec une chaîne.
@empi Nope MSDN.MicRosoft. COM / EN-US / Bibliothèque / ...
ESSAYEZ
If (input.IndexOfAny(@",/\.".ToCharArray()) >= 0) { ... }
Vous pouvez utiliser certains LINQ:
if ( ",/\\.".ToCharArray().Any( c => input.Contains( c ) ) )
Vous pouvez utiliser string.indexofany - il numérisera la chaîne de l'un quelconque de l'un d'un jeu de caractères dans un tableau:
if (e.Label.IndexOfAny(new char[]{',', '/', @'\', '.' /* other chars here */}) > -1)
Est-ce que cette victoire est la plus courte?
@".,/\".Any(input.Contains)
"asdfasdf".ContainsAny(".","/","4"); public static bool ContainsAny(this string stringToCheck, params string[] parameters) { return parameters.Any(parameter => stringToCheck.Contains(parameter)); }
Ne fonctionne pas dans c #. La chaîne de type ne contient pas de définition pour "contient"
Une méthode d'extension pourrait rendre les choses propres. Regardez ce qui suit.
string myString = "this is my string"; //extension if (myString.ContainsChar('.', '*', '%')) //do something //static method if (ContainsChar(myString, '.', '*', '%')) //do something
semblable à cette question Stackoverflow.com/Questtions/194930/...
J'ai vu cette question, j'espérais pouvoir trouver une solution plus facile depuis que je connais tous les personnages que je cherche à l'avance (ce que j'ai merci pour toutes les réponses!).
Dupliqué possible de vb.net - Ajout de plus de 1 chaîne à. contient