2011-02-17 62 views
2

如何執行以下操作顯示在Javascript在C#4.0:C#4.0匿名函數

var output = doSomething(variable, function() { 
    // Anonymous function code 
}); 

我敢肯定,我以前見過這個地方,但我找不到任何的例子。

+0

您可以使用委託或Lambda express離子 – 2011-02-17 22:17:41

+0

請參閱[如何調用匿名函數在c](http://stackoverflow.com/questions/3923864/how-to-call-anonymous-function-in-c) – nawfal 2014-07-06 12:57:22

回答

2

雖然它不像JavaScript那樣QUITE很多,但您需要查看Lambda Expressions,因爲C#的工作方式有點不同。您可能還想查看delegates

例如代碼:

namespace Test { 
    class Tests { 
     delegate string MyDelegate(); 

     public void Main(string[] args) { 
      var output = doSomething("test1",() => { return "test2";}); 
     } 

     public string doSomething(string test, MyDelegate d) { 
      return test + d(); 
     } 
    } 
} 
+0

您能否請提供一個與問題中概述的相同的例子? – GateKiller 2011-02-17 22:19:08

2
var output = (x) => { 
    // Anonymous function code 
}; 
5

使用lambda表達式(無參數,因此空括號),這是非常簡單的:

var output = doSomething(variable,() => { 
    // Anonymous function code 
}); 

在C#2.0中,語法是有點更長:

SomeType output = doSomething(variable, delegate { 
    // Anonymous function code 
});