これは私がやろうとしていることです。私は文字列alphaCodeを持っています。単純にやりたいことは、文字Aから文字Bへの増加です。私は各文字にintを割り当て、int ++を行ったのですが、もっと良い方法があると仮定しています。C#文字列の値をアルファベット順に次の値に変更します
string alphaCode = "a"
result = "b"
これは私がやろうとしていることです。私は文字列alphaCodeを持っています。単純にやりたいことは、文字Aから文字Bへの増加です。私は各文字にintを割り当て、int ++を行ったのですが、もっと良い方法があると仮定しています。C#文字列の値をアルファベット順に次の値に変更します
string alphaCode = "a"
result = "b"
string GetNextCode(string alphaCode)
{
Debug.Assert(alphaCode.Length == 1 && Regex.IsMatch(alphaCode, "[a-yA-y]"));
var next = (char) (alphaCode[0] + 1);
return next.ToString();
}
アサートはちょうど意思通信している - つまり、私はあなたの要件は、右理解しました。多少冗長です。
あなたは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++);
あなたは、単に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);
どの程度を使用次のキャラクターに向かう。
素晴らしい例ですが、私はAから始めてb、c、d、e、fに行ったければどうしますか? –
[ASCIIテーブル](http://en.wikipedia.org/wiki/ASCII)でお読みください。 – Femaref
@Mike:どうした?この関数は、パラメータが渡されたのと同じケースでアルファベットの次の文字を与えます。私のAssertによれば、 "z"は無効なparamであることに注意してください。 –