In der switch-Anweisung Fehler-Switch-Menge nicht ein integer

Ich versuche zu konvertieren C# - code in C

Ursprünglichen C# - code ist

Aufrufen Hex2Binary Methode von unten code

private string DEtoBinary(string HexDE)
        {
            string deBinary = "";
            for (int I = 0; I <= 15; I++)
            {
                deBinary = deBinary + Hex2Binary(HexDE.Substring(I, 1));

            }

            return deBinary;

        }

//Hex2Binary Methode

private string Hex2Binary(string DE)
        {

            string myBinary = "";
            switch (DE)
            {
                case "0":
                    myBinary = "0000";
                    break;

                case "1":
                    myBinary = "0001";
                    break;
                    .
                    .
                    .
                 }
      }

Aber wenn ich in C schreiben, ich nehme argument wie unten gezeigt

    char *Hex2Binary(char DE[])
    {

        char *myBinary = "";
        switch (DE)
        {
            case "0":
             myBinary = "0000";
             break;

            case "1":
             myBinary = "0001";
             break;

            case "2":
             myBinary = "0010";
             break;
                     .         
                     .   

         }
    }

Ich bin immer Fehler wie
Schalter Quantität, nicht eine ganze Zahl ist.

Wie viele Fälle haben Sie? Sie konnte einfach if-else statt. Gibt es vielleicht andere Probleme in deinem C-code als auch. Ich glaube nicht, dass C ermöglicht eine switch auf einer Schnur.
Ich habe 15 Fälle.Mein Hauptproblem ist, wie zu akzeptieren, string-argument in der Methode char *Hex2Binary(char DE[])

InformationsquelleAutor user2357643 | 2015-10-29

Schreibe einen Kommentar