Преобразование String в String [], разделенное символами в C # [дубликат]

Это ужасное состояние без прерывания (TASK_UNINTERRUPTIBLE) процесса. Это состояние, в котором процесс не реагирует на сигналы до тех пор, пока он не начнет ждать, выполняется. К сожалению, это необходимое зло. См. здесь и здесь Что такое непрерывный процесс? .

Мой ответ - перезагрузить систему. Вызывают ли перезагрузка какие-либо проблемы? Трудно сказать, возможно, это не так. Процесс, который находится в состоянии D, может потребоваться сделать некоторые важные обновления, которые не будут выполняться при перезагрузке. Если вы действительно не можете позволить себе перезагрузиться, попробуйте найти диск, на котором ожидает процесс, и посмотрите, работает ли диск нормально, открыв, закрыв, прочитав / записав в него

38
задан razlebe 18 June 2012 в 14:01
поделиться

11 ответов

string[] - массив (вектор) строк string - это просто строка (список / массив символов)

В зависимости от того, как вы хотите преобразовать это, канонический ответ может быть :

string [] -> string

return String.Join(" ", myStringArray);

string -> string []

return new []{ myString };
73
ответ дан Carsten 25 August 2018 в 21:16
поделиться

zerkms сказал вам разницу. Если вам нравится, вы можете «преобразовать» строку в массив строк с длиной 1.

Если вы хотите отправить строку в качестве аргумента, например, вы можете сделать вот так:

var myString = "Test";

MethodThatRequiresStringArrayAsParameter( new[]{myString} );

Я, честно говоря, не вижу никакой другой причины для преобразования, чем для использования аргумента метода, но если это еще одна причина, вам придется предоставить некоторую информацию о том, что вы пытаетесь выполнить, поскольку, вероятно, существует лучшее решение.

2
ответ дан Øyvind Bråthen 25 August 2018 в 21:16
поделиться

Строка содержит одно значение, но строка [] содержит много строк, так как это массив строк.

Подробнее здесь

1
ответ дан ericosg 25 August 2018 в 21:16
поделиться

Вы можете создать string[] (строковый массив), который содержит ваш string как:

string someString = "something";
string[] stringArray = new string[]{ someString };

Теперь переменная stringArray будет иметь длину 1 и содержать someString.

11
ответ дан Klaus Byskov Pedersen 25 August 2018 в 21:16
поделиться
String myString = "My String";
String[] myString.Cast<char>().Cast<string>().ToArray();
1
ответ дан regisbsb 25 August 2018 в 21:16
поделиться

Salam.

Если вы хотите преобразовать строку типа "Mohammad" в String[], которая содержит все символы в качестве String, это может помочь вам:

"Mohammad".ToCharArray().Select(c => c.ToString()).ToArray()
7
ответ дан Sayed Abolfazl Fatemi 25 August 2018 в 21:16
поделиться

A string - одна строка, а string[] - строковый массив. Это означает, что это переменная с несколькими строками в ней.

Хотя вы можете преобразовать string в string[] (создать массив строк с одним элементом в нем), это, вероятно, признак того, повторять попытку сделать что-то, чего вы не должны делать.

3
ответ дан Simeon Visser 25 August 2018 в 21:16
поделиться

Если вы просто новичок и хотите разбить строку на массив букв, но не знаете правильной терминологии, это char [];

String myString = "My String";
char[] characters = myString.ToCharArray();

Если это не то, что вы искали, извините за то, что тратили свое время: P

1
ответ дан Stig-Rune S. 25 August 2018 в 21:16
поделиться

Чтобы преобразовать строку с значениями, разделенными запятыми, в строковый массив, используйте Split:

string strOne = "One,Two,Three,Four";
string[] strArrayOne = new string[] {""};
//somewhere in your code
strArrayOne = strOne.Split(',');

Результат будет строковым массивом с четырьмя строками:

{«Один», «Два», «Три», «Четыре»}

1
ответ дан t.m.adam 25 August 2018 в 21:16
поделиться

Массив - это фиксированный набор данных того же типа, которые хранятся смежно и доступны по индексу (основанный на нуле).

Строка представляет собой последовательность символов.

Следовательно, String[] представляет собой набор из Strings.

Например:

String foo = "Foo";  // one instance of String
String[] foos = new String[] { "Foo1", "Foo2", "Foo3" };
String firstFoo = foos[0];  // "Foo1"

Массивы (Руководство по программированию на C #)

Редактирование: очевидно, что нет прямого способа конвертировать один String в String[] или наоборот. Хотя вы можете использовать String.Split , чтобы получить String[] из String с помощью разделителя (например, запятой).

Чтобы «преобразовать» 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
22
ответ дан Tim Schmelter 25 August 2018 в 21:16
поделиться

string - строка, а string[] - массив строк

5
ответ дан zerkms 25 August 2018 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: