web-dev-qa-db-fra.com

Convertir une chaîne en tableau sans utiliser la fonction Split

Existe-t-il un moyen de convertir une chaîne ("abcdef") en un tableau de chaîne contenant son caractère (["a","b","c","d","e","f"]) sans utiliser la fonction String.Split?

15
peanut

Donc vous voulez un tableau de string, un char chacun:

string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();

Cela fonctionne parce que string implémente IEnumerable<char>. Donc, Select(c => c.ToString()) projette chaque char dans string sur un string représentant ces char et ToArray énumère la projection et convertit le résultat en un tableau de string.

Si vous utilisez une ancienne version de C #:

string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
    a[i] = s[i].ToString();
}
36
jason

Oui.

"abcdef".ToCharArray();
9
G-Wiz

Vous pouvez utiliser linq et faire:

string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();

Cela vous donnerait un tableau de chaînes au lieu d'un tableau de caractères.

3
Adam Gritt

Pourquoi tu ne viens pas 

string value="abcd";

value.ToCharArray();

textbox1.Text=Convert.toString(value[0]);

montrer la première lettre de la chaîne; ce serait «un» dans ce cas.

3
efren

Un peu plus gros que ceux ci-dessus mais je ne vois pas de solution simple pour cela.

List<string> results = new List<string>; 

foreach(Char c in "abcdef".ToCharArray())
{
   results.add(c.ToString());
}


results.ToArray();  <-- done

Quel est le problème avec string.split ???

0
War