C # Split выдает ошибку - PullRequest
       7

C # Split выдает ошибку

0 голосов
/ 04 апреля 2011

У меня есть массив строк

 String[] theStringArray ={"A,B,C,D,E,F,G",
               "H,I,J,K,L,M,N"};

У меня есть пустой массив строк. Я пытаюсь установить его содержимое на индекс 0 указанного выше массива.

String[] theNewArray;

theNewArray =  theStringArray[0].Split(",");

Это дает ошибку. Что я сделал не так?

Ответы [ 6 ]

5 голосов
/ 04 апреля 2011

Используйте простые кавычки

String[] theNewArray;

theNewArray =  theStringArray[0].Split(',');
1 голос
/ 04 апреля 2011

Ошибка, которую вы получаете:

Наилучшее перегруженное соответствие метода для 'string.Split (params char [])' имеет недопустимые аргументы

Это потому, что вы передаете методу Split строку (двойные кавычки), а не символ (одинарные кавычки).

Попробуйте вместо этого:

theNewArray =  theStringArray[0].Split(',');
1 голос
/ 04 апреля 2011

Метод Split() принимает символ, а не строку.Измените свой код на это (обратите внимание на одинарные кавычки):

theNewArray =  theStringArray[0].Split(','); 
1 голос
/ 04 апреля 2011

String неявно преобразуется в char[], чего и ожидает Split.

theNewArray =  theStringArray[0].Split(',');

Если вам нужно разделить более чем один символ, вы можете использовать

theNewArray =  theStringArray[0].Split(",.;:".ToCharArray());

В будущем полезно сообщить, какое сообщение об ошибке вы получаете. :)

0 голосов
/ 16 января 2012

Вы должны использовать одинарные кавычки, чтобы указать, что вы имеете в виду символ [], а не строку, даже если строка имеет длину один символ.

Стоит также отметить, что Join требует двойных кавычек. Совсем не интуитивно, не правда ли ?!

var joinString = string.Join("|", join);
var string[] split = joinString.Split('|');
0 голосов
/ 04 апреля 2011

эй, мужик, используй theString.split (",");

как это

http://www.dotnetperls.com/string-split
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...