读书人

C#程序出错(委托类型)解决方案

发布时间: 2012-03-21 13:33:15 作者: rapoo

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

C# code
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);

读书人网 >C++ Builder

热点推荐