我一直在想,代表如何可以有用,我們爲什麼要使用它們?其他則是Visual Studio文檔中的類型安全和所有這些優點,代表的真實世界用途是什麼。C#(或其他語言)代表的使用
我已經找到了一個,它非常有針對性。
using System;
namespace HelloNamespace {
class Greetings{
public static void DisplayEnglish() {
Console.WriteLine("Hello, world!");
}
public static void DisplayItalian() {
Console.WriteLine("Ciao, mondo!");
}
public static void DisplaySpanish() {
Console.WriteLine("Hola, imundo!");
}
}
delegate void delGreeting();
class HelloWorld {
static void Main(string [] args) {
int iChoice=int.Parse(args[0]);
delGreeting [] arrayofGreetings={
new delGreeting(Greetings.DisplayEnglish),
new delGreeting(Greetings.DisplayItalian),
new delGreeting(Greetings.DisplaySpanish)};
arrayofGreetings[iChoice-1]();
}
}
}
但是,這並不表明我到底使用委託,而不是有條件的優勢,「如果... {}」,它解析參數和運行方法。
有誰知道爲什麼它是更好地在這裏使用委託,而不是「如果... {}」。你還有其他的例子可以證明代表的有用性。
謝謝!
啊,那是的多尼斯·馬歇爾的Visual C#2008年的第一個例子...不是真正合適的第一個Hello World示例,但仍然... – 2009-07-06 08:24:06
不,我發現它在同一作者的「編程Microsoft Visual C#2005:語言」,好,他爲C#2008做了一個新版本,我將有一個看看吧 – 2009-07-06 08:34:52