0
我在庫中使用lambdas頗多。有一件事讓我感到非常厭煩,我似乎無法擺脫返回聲明,並且在他們周圍有相當多的鍋爐板類型代碼。爲什麼Linq lambda不需要`return`語句,但是我的呢?
這是它是如何工作至今:
public delegate IBarelyView HandlerInvoker(IDictionary<string, string> route, IDictionary<string, string> form);
public void MyFunc(string foo, HandlerInvoker invoker) { }
這是我有工人使用MYFUNC代碼:
MyFunc("foobar", (x, y) => { return new Xyz();});
現在我知道這是不是太糟糕了。但是,我真的很想能夠使用Linq類型的語法。舉例來說,這是很容易做到
ObjectList.Where(x=>x.Foo=="bar");
正如你所看到的,對於LINQ的語法陽性沒有return
發言,圍繞「論據」沒有括號,並沒有花括號。
爲什麼我的lambda表達式中不能有這種語法?如果我刪除了return語句,我得到一個關於不是所有返回值的代碼路徑的錯誤。
我覺得啞巴。是的,這是有效的,是非常明顯的 – Earlz
我不記得爲什麼我一開始就使用大括號。我認爲這是他們要求退貨聲明的錯誤?> – Earlz
哈哈諷刺多少? –