注册 登录
编程论坛 C# 论坛

这段代码哪里错了

weikeli19 发布于 2015-06-05 17:27, 853 次点击
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        delegate double ProcessDelegate(double param1, double param2);
        static double Multiply(double param1, double param2)
        {
            return param1 * param2;
        }
        static double Divide(double param1, double param2)
        {
            return param1 / param2;
        }
        static void Main(string[] args)
        {
            ProcessDelegate process;
            string input = Console.ReadLine();
            int commaPos = input.IndexOf(',');
            double param1=Convert.ToDouble(input.Substring(0,commaPos));
            double param2=Convert.ToDouble(input.Substring(commaPos+1,
                                                   input.Length-commaPos-1));
            input = Console.ReadLine();
            if (input == "M")
                process = new ProcessDelegate(Multiply);
            else ;
            Console.WriteLine(process(param1,param2));

        }
    }
}
这段代码哪里错了 编译器错误显示"使用了未赋值的局部变量process"
就这唯一一个错误
6 回复
#2
wp2319572015-06-05 20:12
Console.WriteLine(process(param1,param2));  这里本来就是使用了未初始化的变量  有啥疑问吗
#3
你欠我人情2015-06-05 20:19
为啥子哦!我连namespace是什么都不知道
#4
w2009w2015-06-06 10:08
这是什么语言啊?C#、C++、和C到底有何区别啊?
#5
Maick2015-06-06 10:48
if (input == "M")
                process = new ProcessDelegate(Multiply);
            else ;
            Console.WriteLine(process(param1,param2));
如果没执行if(input=="M")

那么 process 就没赋值了..发现异常首先自己想想先,确实发现不了在问吧
#6
weikeli192015-06-06 11:35
这个问题我已经知道了
#7
weikeli192015-06-06 11:35
我懂了
1