String.ToCharArray () сохраняется в преобразовании StringCollection в числа и обратно в VB.net - PullRequest
0 голосов
/ 25 августа 2009

У меня есть строка, которая была преобразована в массив символов и сохранена в коллекции строк. Как мне вернуть числовое значение для символа в каждой строке? Как мне отменить этот процесс, получив символ из числового значения?

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

Уже есть метод, встроенный в vb.net для этого?

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 25 августа 2009

В классе Convert есть методы, которые могут конвертировать между символами и целыми числами:

Dim c As Char = "A"C
Dim i As Integer = Convert.ToInt32(c)
Dim c2 As Char = Convert.ToChar(i)

Чтобы зациклить значения, преобразованные из символов в строке в массив целых чисел:

Dim codes(theString.Length - 1) As Integer
For i As Integer = 0 to theString.Length - 1
    codes(i) = Convert.ToInt32(theString.Chars(i))
Next
1 голос
/ 25 августа 2009

Попробуйте что-то вроде этого:

For Each c As Char In yourString
    Dim i As Int32 = DirectCast(c, Int32)
Next

Помните, что System.String реализует IEnumerable<Char>, поэтому допустимо For Each над ним. И преобразование между символом и числом так же просто, как приведение между System.Char и System.Int32 (здесь я показал, как получить числовое значение для каждого символа в строке).

...