Bonjour,
Existe t'il un code plus simple équivalent à ci-dessous ?
La fonction recopie la chaine jusqu'a un caractere ' ' rencontré.Code:
1
2
3
4
5 private static string hdiam(string diam) { string[] sd = diam.Split(' '); return sd[0]; }
Version imprimable
Bonjour,
Existe t'il un code plus simple équivalent à ci-dessous ?
La fonction recopie la chaine jusqu'a un caractere ' ' rencontré.Code:
1
2
3
4
5 private static string hdiam(string diam) { string[] sd = diam.Split(' '); return sd[0]; }
Salut,
que penses-tu de cette formule (même pas besoin de la mettre dans une fonction) ?
hdiam prend pour valeur la partie de diam située avant une espace (ou tout si pas d'espace trouvé), ou une chaîne vide si diam est null ou vide.Code:string hdiam = (diam??"").Split(' ')[0];
Bon dev.
edits :
- la "simplification" que je propose est effectivement surtout syntaxique, selon le cas un IndexOf+Substring pourrait être plus performant (l'optim .NET c'est pas trop mon truc),
- correction : "une" espace quand on parle du caractère typo'.
Bonjour,
Non pas tout à fait, la fonction découpe (le caractère ' ' servant de délimiteur) toute la chaine reçue en mot, qu'elle met dans un tableau, et retourne le premier mot trouvé.Citation:
La fonction recopie la chaine jusqu'a un caractere ' ' rencontré.
Ça va dépendre de l'utilisation que tu cherche à faire de cette fonction (qui soit dit en passant ne veut rien dire pour moi), mais si j'avais besoin que du premier mot d'une chaine, je ne découperais pas toute la chaine par Split(). Maintenant si tes chaines sont courte et peu nombreuse, pourquoi pas, mais bon ...Citation:
Existe t'il un code plus simple équivalent à ci-dessous ?
Il serait bon également de vérifier que tu ais une chaine avant d'essayer la manipuler.
Bonne continuation.
Pour ma part voici le code raccourci équivalent
Code:diam.Split(' ')[0]