-1

我正在尝试为字符串输入上的每个字符分配值,计算总数,然后在标签上显示输出。这是我尝试通过使用开关来实现它的方法,但是结果仍然显示为“0”。我该如何解决这个错误?谢谢。代码在 C# 中的单击事件上运行

string passport = "ABC123";
            char[] array;
            array = passport.ToCharArray(0,6);
            int total = 0;
            foreach (char c in array) { 
            switch (passport)
            {
                case "A":
                    total += 1;
                    break;

                case "B":
                    total += 2;
                    break;

                case "C":
                    total += 3;
                    break;

                case "1":
                    total += 1;
                    break;

                case "2":
                    total += 2;
                    break;

                case "3":
                    total += 3;
                    break;

            }
            }
            Label1.Text = total.ToString();
4

1 回答 1

0

结合评论作为答案。

string passport = "ABC123";
char[] array = passport.ToCharArray(0,6);
int total = 0;
foreach (char c in array) { 
    switch (c) // You're doing your switch on passport rather than c. – Loocid 
    {
        case 'A': //Make hardcoded values a type of char(with single quote) otherwise it will not compile. case 'A': – Fabio
            total += 1;
            break;

        case 'B':
            total += 2;
            break;

        case 'C':
            total += 3;
            break;

        case '1':
            total += 1;
            break;

        case '2':
            total += 2;
            break;

        case '3':
            total += 3;
            break;

    }
}
Label1.Text = total.ToString();
于 2020-02-10T05:48:09.727 回答