Вопрос по c# – Не удалось неявно преобразовать тип 'string' в 'int' error

0
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 #, и я пытаюсь сделать программу, которая может выполнить 5 арифметических операций, используя Case Statement, после того, как я завершу свое кодирование .. я обнаружил 5 ошибок, которые заставляют меня застрять .. и вывод всегда будет иметь 2 результата (т.е. я выберите Добавить .. и появится 2 вывода, его сложение и вычитание одновременно .. Кто-то может мне помочь с этим?

Удалите кавычки вокруг цифр в вашемcase заявления. Вы хотите рассматривать их как целые числа, а не строки. Cody Gray♦

Ваш Ответ

3   ответа
0

замещатьcase "1": сcase 1:

0

Вы конвертируетеa к int, но ваш оператор switch соответствует его строкам. Измените это наcase 1: вместоcase "1" чтобы решить проблемы.

2

Оскорбительный код - это ваши заявления.a являетсяint, В вашем случае все заявленияstrings. Просто удалите кавычки вокруг чисел:

switch(a)
{
    case 1: 
            // some code
            break;
    case 2: 
            // some code
            break;
    // rest of cases
}
Error: User Rate Limit Exceeded Ezwan Abid

Похожие вопросы