首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

C#程序疏失(委托类型)

2012-12-29 
C#程序出错(委托类型)using Systemusing System.Collections.Genericusing System.Linqusing System.Te

C#程序出错(委托类型)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        delegate double ptocessDelegate(double paraml, 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)
        {
            ptocessDelegate ptocess;
            Console.WriteLine("Enter 2 numbers separated with a comma:");
            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));
            Console.WriteLine("Enter M to multiply or D to divide:");
            input = Console.ReadLine();
            if (input == "M")
                ptocess = new ptocessDelegate(Divide);
            Console.WriteLine("Result: {0}", ptocess(param1, param2));
            Console.ReadKey();
        }
    }
}

错误信息:
使用了为赋值的局部变量"ptocess"
初学者书上的代码。最好帮忙解释下程序
[解决办法]
if (input == "M")
                ptocess = new ptocessDelegate(Divide);


这个的问题,这么改就可以
if (input == "M")
                ptocess = new ptocessDelegate(Divide);
else
                ptocess = new ptocessDelegate(Multiply);

热点排行