using System;
namespace ConsoleApplication
{
class Program
{
public delegate void mydel(int z);
static void Main(string[] args)
{
Program p = new Program();
Random r = new Random();
int k = r.Next(99);
mydel f;
if (k > 50)
{
f = new mydel(p.high);
}
if (k < 50)
{
f = new mydel(p.low);
}
//f(k) is underlined and Use of unassigned local variable 'f'
f(k);
}
//methods
public void high(int m)
{
Console.WriteLine("{0}>50", m);
}
public void low(int n)
{
Console.WriteLine("{0}<50", n);
}
}
}
我期望f(k)工作,因为我给委托参数。为什么我得到这个错误? (对F(k)的部分使用未分配的局部变量 'F' 的)未分配的变量错误
添加其他的。如果(k> 50){...} else if(k <50){...} else {...}''k == 50' –
如果'k == 50'会怎么样?然后'f'不会被分配。 –