Как преобразовать тип string
в тип string[]
в С#?
Как преобразовать строку в строку []?
Ответ 1
string[]
- это массив (вектор) строк
string
- это просто строка (список/массив символов)
В зависимости от того, как вы хотите преобразовать это, канонический ответ может быть:
string [] → string
return String.Join(" ", myStringArray);
string → string []
return new []{ myString };
Ответ 2
Массив - это фиксированная коллекция данных того же типа, которые хранятся смежно и доступны по индексу (на основе нуля).
Строка представляет собой последовательность символов.
Следовательно, a String[]
представляет собой набор из Strings
.
Например:
String foo = "Foo"; // one instance of String
String[] foos = new String[] { "Foo1", "Foo2", "Foo3" };
String firstFoo = foos[0]; // "Foo1"
Массивы (Руководство по программированию на С#)
Изменить. Очевидно, нет прямого способа конвертировать один String
в String[]
или наоборот. Хотя вы можете использовать String.Split
, чтобы получить String[]
из String
с помощью разделителя (например, запятой).
Чтобы "преобразовать" a String[]
в String
(наоборот), вы можете использовать String.Join
. Вам нужно указать, как вы хотите присоединиться к этим строкам (f.e. С запятой).
Вот пример:
var foos = "Foo1,Foo2,Foo3";
var fooArray = foos.Split(','); // now you have an array of 3 strings
foos = String.Join(",", fooArray); // now you have the same as in the first line
Ответ 3
Вы можете создать string[]
(строковый массив), который содержит ваш string
как:
string someString = "something";
string[] stringArray = new string[]{ someString };
Переменная stringArray
теперь будет иметь длину 1 и содержать someString
.
Ответ 4
string
- строка, а string[]
- массив строк
Ответ 5
Сала.
Если вы хотите преобразовать строку типа "Mohammad"
в String[]
, которая содержит все символы как String
, это может помочь вам:
"Mohammad".ToCharArray().Select(c => c.ToString()).ToArray()
Ответ 6
A string
- одна строка, a string[]
- строковый массив. Это означает, что это переменная с несколькими строками в ней.
Хотя вы можете преобразовать string
в string[]
(создать массив строк с одним элементом в нем), это, вероятно, признак того, что вы пытаетесь сделать что-то, чего не следует делать.
Ответ 7
zerkms сказал вам разницу. Если вам нравится, вы можете "преобразовать" строку в массив строк длиной 1.
Если вы хотите отправить строку в качестве аргумента, например, вы можете сделать вот так:
var myString = "Test";
MethodThatRequiresStringArrayAsParameter( new[]{myString} );
Я, честно говоря, не вижу никакой другой причины для преобразования, чем для использования аргумента метода, но если это еще одна причина, вам придется предоставить некоторую информацию о том, что вы пытаетесь выполнить, поскольку, вероятно, есть лучшее решение.
Ответ 8
Строка содержит одно значение, но строка [] содержит много строк, так как это массив строк.
Подробнее здесь
Ответ 9
Если вы просто новичок и хотите разбить строку на массив букв, но не знаете правильной терминологии, это char [];
String myString = "My String";
char[] characters = myString.ToCharArray();
Если это не то, что вы искали, извините за потраченное время: P
Ответ 10
String myString = "My String";
String[] myString.Cast<char>().Cast<string>().ToArray();
Ответ 11
Чтобы преобразовать строку с значениями, разделенными запятыми, в массив строк используйте Split
:
string strOne = "One,Two,Three,Four";
string[] strArrayOne = new string[] {""};
//somewhere in your code
strArrayOne = strOne.Split(',');
Результат будет строковым массивом с четырьмя строками:
{ "Один", "Два", "Три", "Четыре" }