Преобразование строки в массив без использования функции разделения

Можно ли преобразовать строку ("abcdef") в массив строки, содержащий ее символ (["a","b","c","d","e","f"]), не используя функцию String.Split?

Ответы

Ответ 1

Итак, вам нужен массив string, один char каждый:

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

Это работает, потому что string реализует IEnumerable<char>. Таким образом, Select(c => c.ToString()) проектирует каждый char в string до string, представляющий, что char и ToArray перечисляет проекцию и преобразует результат в массив string.

Если вы используете более старую версию С#:

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

Ответ 2

Да.

"abcdef".ToCharArray();

Ответ 3

Вы можете использовать linq и делать:

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

Это даст вам массив строк вместо массива символов.

Ответ 4

Почему бы вам просто

string value="abcd";

value.ToCharArray();

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

чтобы показать первую букву строки; это будет "а" в этом случае.

Ответ 5

Бит больше объема, чем те, что указаны выше, но я не вижу в этом простой прокладки.

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

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


results.ToArray();  <-- done

Что не так с string.split???