有一个8位的字符串,默认值为00000000,通过一组多选条件(4个 1*,2*,3*,4*),如选择e,k,将
得到00210042,每个条件的默认值为00,注意位置匹配问题(按1-4顺序排列),如何实现通过选择条件组合成这个8位字符串.a 11
b 12
c 13
d 14e 21
f 22
g 23h 34
i 35j 41
k 42
l 43
m 44
n 45

解决方案 »

  1.   

    不是太明白你的意思,下面这样行吗? public static void Main(string[] args) 
    {
    Console.Write("Input 4 Charecters(a~n,or 0):");
    char[] sel=Console.ReadLine().ToCharArray(0,4);
    Console.WriteLine(Fun(sel));
    Console.ReadLine();
    } private static string Fun(char[] selection)
    {
    string s=string.Empty;
    for(int i=0;i<4;i++)
    {
    switch(selection[i])
    {
    case 'a':
    s+="11";
    break;
    case 'b':
    s+="12";
    break;
    case 'c':
    s+="13";
    break;
    case 'd':
    s+="14";
    break;
    case 'e':
    s+="21";
    break;
    case 'f':
    s+="22";
    break;
    case 'g':
    s+="23";
    break;
    case 'h':
    s+="34";
    break;
    case 'i':
    s+="35";
    break;
    case 'j':
    s+="41";
    break;
    case 'k':
    s+="42";
    break;
    case 'l':
    s+="43";
    break;
    case 'm':
    s+="44";
    break;
    case 'n':
    s+="45";
    break;
    default:
    s+="00";
    break;
    }
    }
    return s;
    }
      

  2.   

    用Hashtable可以吗?想办法将字母与数值分开,然后把字母当作key,对应数值当作value,一一对应,替换就方便多了。