2014-11-17 4 views
-1

Я пытаюсь получить отдельный символ из строки, которую я получаю из массива.Как получить символ из строки?

string sChar=array[0].ToString(); 

Теперь, если строка в array[0].ToString() является "234"

int iChar = sChar[0]; 

теперь положение он должен вернуть мне "2", но она возвращает "48". Что мне не хватает?

+0

Делает ли 'char iChar = sChar [0];' делать то, что вы хотите? – Gabe

+0

Вы пытаетесь получить целое число или персонаж? вы говорите, что пытаетесь отделить символы, но вы используете тип данных int. –

ответ

0

Использование int iChar = Convert.ToInt32(sChar.substring(0,1));

0

Вы неявно литье характер (byte) для int.

Персонаж 2 имеет значение 50.

Персонаж 0 имеет значение 48.

Таким образом, вы должны использовать Convert.ToInt32() или int.TryParse() метод для преобразования символов в эквивалентное целое

0

Проблема заключается в процессе превращения вашего char в int. Попробуйте следующее: -

string[] sarray = { "234", "125", "842" }; 
string strElement = sarray[0]; 
int iChar = (int) Char.GetNumericValue(strElement[0]); 
0

Попробуйте это.

int first = Int16.Parse(arr[0][0].ToString()); 

То, что вы сейчас делаете только получение индекса строки из вашего массива строк, чтобы получить доступ к индексу символов, вы должны сделать еще один индексатор.

Смежные вопросы