C#程序出错(委托类型)解决方案
C#程序出错(委托类型)
错误信息:
使用了为赋值的局部变量"ptocess"
初学者书上的代码。最好帮忙解释下程序
------解决方案--------------------
if (input == "M")
ptocess = new ptocessDelegate(Divide);
这个的问题,这么改就可以
if (input == "M")
ptocess = new ptocessDelegate(Divide);
else
ptocess = new ptocessDelegate(Multiply);
- 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);