-4

私は C# が初めてで、数値を英字に変換する方法を知る必要があります。たとえば、変数 10 が渡された場合、10 を ND などに変換する必要があります。

if  0 convert to UH
if 02 convert to IJ
if 10 convert to ND
if 45 convert to YH
if 48 convert to OL

これを検索しましたが、探しているものが見つかりませんでした。

さらに明確にするために(完全に説明できなくて申し訳ありません)

別のシステムのアルファ値と同等の数値を渡すシステムがあります。私は、これら 2 つのシステムが通信できるようにするアプリに取り組んでいます。そのため、数値を同等のアルファ値に変更できるような変換テーブルが必要です。これを行うと、正しいパラメーターを使用して SOAP 呼び出しを行うことができます。

4

2 に答える 2

9

それらのロジックが見当たらないので、マッピングが外部のどこかにあると仮定します。2 つのオプション - aswitchまたはディクショナリ。

string result;
switch(num) {
    case 0: result = "UH"; break;
    //...
    case 48: result = "OL"; break;
    default: throw new ArgumentOutOfRangeException();
}
Console.WriteLine(result);

または、辞書:

static readonly Dictionary<int,string> map = new Dictionary<int,string> {
    {0, "UH"},
    //...
    {48, "OL"}
};
...
string result;
if(!map.TryGetValue(num, out result))
    throw new ArgumentOutOfRangeException();
Console.WriteLine(result);

編集: 3 番目のオプション - enum:

enum Map {
  UH = 0,
  //...
  OL = 48
}
...
Map mapped = (Map)num;
Console.WriteLine(mapped);
// also, string result = mapped.ToString(); if you really need
于 2013-08-19T19:42:13.157 に答える