如何将单词转换为字符数组?
让我们说我有“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”这个词变成一个字符串,以便我可以逐个循环这些字母?
提前致谢
答案 0 :(得分:15)
怎么样
char[] myArray = myString.ToCharArray();
但是如果你想迭代字符串,你实际上并不需要这样做。你可以简单地做
for( int i = 0; i < myString.Length; i++ ){
if( myString[i] ... ){
//do what you want here
}
}
这是有效的,因为string
类实现了它自己的indexer
。
答案 1 :(得分:4)
string word = "Pneumonoultramicroscopicsilicovolcanoconiosis";
char[] characters = word.ToCharArray();
瞧!
答案 2 :(得分:1)
你可以使用简单的for循环。
string word = "Pneumonoultramicroscopicsilicovolcanoconiosis";
int wordCount = word.Length;
for(int wordIndex=0;wordIndex<wordCount; wordIndex++)
{
char c = word[wordIndex];
// your code
}
答案 3 :(得分:0)
您可以使用Linq Aggregate
功能执行此操作:
"wordsto".ToLower().Aggregate(0, (running, c) => running + c - 97);
(这个特殊的例子假设你想要相同地对待大写和小写。)
97的减法转换字母的ASCII值,使'a'为零。 (如果你想'a'为1,显然减去96。)
答案 4 :(得分:0)
你可以使用字符串类的ToCharArray()方法
string strWord = "Pneumonoultramicroscopicsilicovolcanoconiosis";
char[] characters = strWord.ToCharArray();