读书人

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

发布时间: 2012-12-29 10:28:09 作者: rapoo

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);

读书人网 >C++ Builder

热点推荐