2011-06-18 8 views

答えて

4
string GetNextCode(string alphaCode) 
{ 
    Debug.Assert(alphaCode.Length == 1 && Regex.IsMatch(alphaCode, "[a-yA-y]")); 

    var next = (char) (alphaCode[0] + 1); 
    return next.ToString(); 
} 

アサートはちょうど意思通信している - つまり、私はあなたの要件は、右理解しました。多少冗長です。

+0

素晴らしい例ですが、私はAから始めてb、c、d、e、fに行ったければどうしますか? –

+1

[ASCIIテーブル](http://en.wikipedia.org/wiki/ASCII)でお読みください。 – Femaref

+0

@Mike:どうした?この関数は、パラメータが渡されたのと同じケースでアルファベットの次の文字を与えます。私のAssertによれば、 "z"は無効なparamであることに注意してください。 –

3

あなたはchar型を使用する場合は、このようにそれを行うことができます。

char alphaChar = 'a'; 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
Console.WriteLine(alphaChar++); 
0

あなたは、単にintに各文字をキャストすることができ、これを達成するため、ASCIIコードを使用しているこれを実装するための最良の方法、あなたがすることができます

String sample = "a"; 
String next = ((char)(sample[0] + 1)).ToString(); 

がSの最初の文字を変換し、次のコード

string st = "a"; 
char c = st[0]; 
int x = (int)c; 
x = x + 1; 
c = Convert.ToChar(x); 
+1

あなたは必要ありません文字列から文字をインデックスで引っ張るために配列に変換する。 – recursive

+0

ありがとう、私は今それを修正した – Vamsi

1

どの程度を使用次のキャラクターに向かう。

関連する問題