使用asp.net编写一个简单的计算器,实现加减乘除。在使用c的时候,可以使用:
int a,c;
char b;
scanf("%d%c%d",&a,&b,&c);
来传入参数。
但是使用c#来编辑的时候,该怎么输入整型呢?怎么像如上一样分开字符与数字呢?

解决方案 »

  1.   

    好像没有单独的一个函数就能做到的。
    我能想到的就是使用Try.Parse() 或者 Regex 
      

  2.   

    没要那种,你要是控制台程序,就用console.read,然后在里面int.parse或Convert.toint32转换成数字
      

  3.   

    你可以使用ajax工具,在用户直接与服务器交互,再判断。
      

  4.   


    void Main()
    {
    int a=5,b=2;
    char c='3';
    var result=new DataTable().Compute(string.Format("{0}+{1}-{2}",a,b,c),null);
    Console.WriteLine(result);//4}
      

  5.   

    你最好把你从C学到的某些规则暂时忘掉...在.NET中字符虽然本质仍是数字,但由于Unicode编码的原因,每个char都是双字节的...千万不要没事儿在整数和char之间乱转换...而8楼的示例是告诉你...C#编译器相对于C编译器非常智能,编译器会依据上下文自动判断是否需要类型转换及如何转换...你要做的只是记住这些规则,知道该用在哪里...至于你在C中学到的那些属于另一套规则,它们对你理解某些现象的本质有帮助但不可套用在这个完全不同的规则体系中...
      

  6.   

    public object calculator(object obj1, object obj2, string op)
        {
            object dt = new DataTable().Compute(string.Format("{0}{2}{1}",obj1,obj2,op), null);
            return dt;
        }calculator(5, 3, "-");//2
    calculator(5, 3, "+");//8
      

  7.   

    真心谢谢大家的热心帮助,特别10楼的淳淳教导,呵呵。。
    最近才开始学c#,还是个菜鸟,问的问题不好,见笑了。如下是我自己刚才写的代码,感觉容错性不太好。(主要是我还不太熟练try catch。。)
    结贴前弱弱的问下,除数为零时应该怎么抛出错误,还有这个a,x,b的赋值应该也要try一下吧。。?
    static void Main(string[] args)
            {
                int a,b,c=0;
                char x;
                a = int.Parse(Console.ReadLine());
                x = char.Parse(Console.ReadLine());
                b = int.Parse(Console.ReadLine());
                switch (x)
                {
                    case '+': c = a + b; break;
                    case '_': c = a - b; break;
                    case '*': c = a * b; break;
                    case '/':
                        if (b != 0)
                        {
                            c = a / b; break;
                        }
                        else
                        {
                             
                            break;
                        }
                    case '%':
                        if (b != 0)
                        {
                            c = a % b; break;
                        }
                        else
                        {
                            break;
                        }
                }
                Console.WriteLine(c);
            }
      

  8.   

    .NET有完善的异常机制...你可以自定义异常类型或者利用预定义的异常类型...
    throw new System.ArgumentOutOfRangeException("参数名", "除数不可为零");
      

  9.   


    你这个是用系统的预制定的吧?
    我想要的就是这个了,不过前面的赋值貌似也有些bug,假如我输入的字符串的不是数字(其它的一些),比如:
    a = int.Parse(Console.ReadLine());
    就会报错(字符串格式)呢。。应该也能用抛出异常的方式来处理吧?否则,程序直接跳错了。呵呵
      

  10.   

    把Console.ReadLine()分开写,自己过滤输入再抛异常...try catch也可以,但不要养成滥用的习惯,预先能想到的就人工处理...另外...2.0以后,一般Parse方法都会提供不抛异常的TryParse版本,更适合实现自定义的逻辑...