Преобразовать слово в массив символов - PullRequest
4 голосов
/ 01 декабря 2010

Как мне преобразовать слово в массив символов?

Допустим, у меня есть слово "Pneumonoultramicroscopicsilicovolcanoconiosis". Да, это слово!Я хотел бы взять это слово и присвоить ему числовое значение.

 a = 1
 b = 2
 ... z = 26

 int alpha = 1;
 int Bravo = 2;

основной код

if (testvalue == "a")
{
    Debug.WriteLine("TRUE A was found in the string"); // true
    FinalNumber = Alpha + FinalNumber;
    Debug.WriteLine(FinalNumber);
}

if (testvalue == "b")
{
    Debug.WriteLine("TRUE B was found in the string"); // true
    FinalNumber = Bravo + FinalNumber;
    Debug.WriteLine(FinalNumber);
}

Мой вопрос заключается в том, как мне передать слово "Pneumonoultramicroscopicsilicovolcanoconiosis", чтобы я мог зацикливать буквы по одной?*

заранее спасибо

Ответы [ 5 ]

15 голосов
/ 01 декабря 2010

а как же

char[] myArray = myString.ToCharArray();

Но на самом деле вам не нужно делать это, если вы хотите перебрать строку. Вы можете просто сделать

for( int i = 0; i < myString.Length; i++ ){
  if( myString[i] ... ){
    //do what you want here
  }
}

Это работает, поскольку класс string реализует свой собственный indexer.

4 голосов
/ 01 декабря 2010
string word = "Pneumonoultramicroscopicsilicovolcanoconiosis";
char[] characters = word.ToCharArray();

Вуаля!

1 голос
/ 01 декабря 2010

Вы можете использовать простой цикл.

string word = "Pneumonoultramicroscopicsilicovolcanoconiosis";
int wordCount = word.Length;
for(int wordIndex=0;wordIndex<wordCount; wordIndex++)
{
    char c = word[wordIndex];
   // your code
}
0 голосов
/ 01 декабря 2010

вы можете использовать метод ToCharArray () класса string

string strWord = "Pneumonoultramicroscopicsilicovolcanoconiosis"; 
char[] characters = strWord.ToCharArray(); 
0 голосов
/ 01 декабря 2010

Вы можете использовать функцию Linq Aggregate, чтобы сделать это:

"wordsto".ToLower().Aggregate(0, (running, c) => running + c - 97);

(В этом конкретном примере предполагается, что вы хотите обрабатывать прописные и строчные буквы одинаково.)

Вычитание 97 переводит значение ASCII букв так, что «а» равно нулю.(Очевидно, вычтите 96, если вы хотите, чтобы «а» было 1.)

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