Ответ 1
Я считаю, что это то, что вы ищете:
char[] characters = "this is a test".ToCharArray();
Я хочу сделать что-то так же просто, как превратить "this is a test"
в
new string[] {"t","h","i","s"," ","a"," ","t","e","s","t"}
Я действительно должен был бы сделать что-то вроде
test = "this is a test".Select(x => x.ToString()).ToArray();
edit: Чтобы уточнить, мне не нужен массив char, в идеале я хочу массив строк. Я не вижу ничего плохого в этом коде, кроме того, что я думаю, что есть более простой способ.
Я считаю, что это то, что вы ищете:
char[] characters = "this is a test".ToCharArray();
У строк в С# уже есть индекс char
string test = "this is a test";
Console.WriteLine(test[0]);
А...
if(test[0] == 't')
Console.WriteLine("The first letter is 't'");
Это тоже работает...
Console.WriteLine("this is a test"[0]);
И это...
foreach (char c in "this is a test")
Console.WriteLine(c);
ИЗМЕНИТЬ
Я заметил, что вопрос был обновлен в отношении массивов char []. Если у вас должен быть массив string [], вот как вы разбиваете строку на каждый символ в С#:
string[] test = Regex.Split("this is a test", string.Empty);
foreach (string s in test)
{
Console.WriteLine(s);
}
Вы можете просто использовать String.ToCharArray(), а затем обрабатывать каждый char как строку в коде.
Вот пример:
foreach (char c in s.ToCharArray())
Debug.Log("one character ... " +c);
Попробуйте следующее:
var charArray = "this is a test".ToCharArray().Select(c=>c.ToString());
Простой!!
одна строка:
var res = test.Select(x => new string(x, 1)).ToArray();
Скорее всего, вы ищете метод ToCharArray(). Однако вам нужно будет сделать немного больше работы, если требуется string[]
, как вы отметили в своем сообщении.
string str = "this is a test.";
char[] charArray = str.ToCharArray();
string[] strArray = str.Select(x => x.ToString()).ToArray();
Изменить: Если вы беспокоитесь о краткости преобразования, я предлагаю вам сделать это в методе расширения.
public static class StringExtensions
{
public static string[] ToStringArray(this string s)
{
if (string.IsNullOrEmpty(s))
return null;
return s.Select(x => x.ToString()).ToArray();
}
}
Преобразуйте сообщение в массив символов, затем используйте цикл for, чтобы изменить его на строку
string message = "This Is A Test";
string[] result = new string[message.Length];
char[] temp = new char[message.Length];
temp = message.ToCharArray();
for (int i = 0; i < message.Length - 1; i++)
{
result[i] = Convert.ToString(temp[i]);
}