C#如何在条件语句中转换数据类型

C#如何在条件语句中转换数据类型,c#,if-statement,typeconverter,C#,If Statement,Typeconverter,您好,我制作了一个c#小程序,向用户请求2个数字并返回一个值,但如果用户输入了一个双倍数字,该程序将使用if-else语句解决问题,但我不知道怎么做 这是代码 using System; namespace c_ { class suma { static void Main(string[] args) { int N1; int N2; int suma; Console.WriteLine ("Digite

您好,我制作了一个c#小程序,向用户请求2个数字并返回一个值,但如果用户输入了一个双倍数字,该程序将使用if-else语句解决问题,但我不知道怎么做

这是代码

using System;

namespace c_
{
class suma
{
    static void Main(string[] args)
    {
        int N1;
        int N2;
        int suma;
        Console.WriteLine ("Digite el numero");
        N1 = int.Parse(Console.ReadLine());
        Console.WriteLine ("Digite el otro numero");
        N2 = int.Parse(Console.ReadLine());
        suma = N1 + N2;
        Console.WriteLine ("Total " + suma); 
    }
}
}

首先,学习一些基础知识。你可以读到双倍的。但这就是你的解决方案:

        int suma = 0;
        int n = 2;
        for (int i = 0; i < n; i++)
        {
            double number;
            if (!double.TryParse(Console.ReadLine(), out number))
            {
                // Tell user input is invalid
            }
            else
            {
                suma += (int) number;
            }
        }

        Console.WriteLine("Total " + suma);
int-suma=0;
int n=2;
对于(int i=0;i
如果您确实需要告诉用户他的输入类型,那么:

int suma = 0;
int n = 2;
for (int i = 0; i < n; i++)
{
    int intNumber;
    double doubleNumber;
    if (int.TryParse(Console.ReadLine(), out intNumber))
    {
        Console.WriteLine("Digite el numero");
        suma += intNumber;
    }
    else if (double.TryParse(Console.ReadLine(), out doubleNumber))
    {
        Console.WriteLine("Digite el otro numero");
        suma += (int)doubleNumber;
    }
    else
    {
        // Tell user input is invalid
    }
}

Console.WriteLine("Total " + suma);
int-suma=0;
int n=2;
对于(int i=0;i
为什么不到处使用
double
呢?是的,但我需要做一个if-else语句,将输入值转换为double。不,你根本不需要和if/else-只要使用所有
double
值和
double.Parse
-或者可能使用
decimal.Parse
,由于
decimal
算法可能不那么令人惊讶。。。