Преобразование строки в массив без использования функции разделения
Можно ли преобразовать строку ("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???