无法将类型“字符串”隐式转换为“int”错误

本文关键字:字符串 转换 int 错误 类型 | 更新日期: 2023-09-27 18:31:16

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Assignment2
{
class Program
{
    static void Main(string[] args)
    {
        int Value1,Value2,result,a;
        Console.Write("Enter Value 1: ");
        Value1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("Enter Value 2: ");
        Value2 = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Choose an arithmetic operator:");

        Console.WriteLine("'t1. +(add)");
        Console.WriteLine("'t2. -(subtract)");
        Console.WriteLine("'t3. *(multiply)");
        Console.WriteLine("'t4. /(divide)");
        Console.Write("'t5. %(mod)");
        Console.Write("'n'n");
        a = Convert.ToInt32(Console.ReadLine());
        switch (a)
        {
            case"1":
                Console.WriteLine("Operator is: Add");
                result=Value1+Value2;
                Console.WriteLine("Result: "+result);
                break;
            case"2":
                Console.WriteLine("Operator is: Subtract");
                result=Value1-Value2;
                Console.WriteLine("Result: "+result);
                break;
            case"3":
                Console.WriteLine("Operator is: Multiply");
                result=Value1*Value2;
                Console.WriteLine("Result: "+result);
                break;
            case"4":
                Console.WriteLine("Operator is: devide");
                result=Value1/Value2;
                Console.WriteLine("Result: "+result);
                break;
            case"5":
                Console.WriteLine("Operator is: mod");
                result = Value1 % Value2;
                Console.WriteLine("Result: "+result);
                break;
        }
    }
}
}

有基本的 C#,在完成编码后,我尝试制作一个可以使用 Case 语句运行 5 个算术运算的程序。我发现了5个让我卡住的错误。并且输出将始终带有 2 个结果(即我选择添加。并且会出现2个输出,同时加减。有人可以帮助我吗?

无法将类型“字符串”隐式转换为“int”错误

有问题的代码是你的案例陈述。 a是一个int.您的案例陈述都使用 string s。只需删除数字周围的引号:

switch(a)
{
    case 1: 
            // some code
            break;
    case 2: 
            // some code
            break;
    // rest of cases
}

您正在将a转换为 int,但您的 switch 语句将其与字符串匹配。将其更改为case 1:而不是case "1"以解决问题。

删除引号以防万一。

case "1":替换为case 1: