簡體   English   中英

公司使用C#中的Func和Action代理嗎?

[英]Are Func and Action Delegates in C# used by companies?

我真的很想知道Func和Action代表是否被開發公司使用。 他們是否將它用於活動? 我知道這是一個奇怪的問題,但我已經向老師和其他許多人詢問過,但沒有人能給我一個答案。

在C#中, ActionFunc是減少代碼重復和減少耦合的極其有用的工具。 減少重復並使代碼可重用對任何公司都很重要

令人遺憾的是,許多開發人員回避他們,因為他們並不真正了解他們。

將Action和Func添加到工具箱是改進C#代碼的一個非常重要的步驟。

作為使用它們的最佳例子: Linq基於ActionFuncPredicate

這是這些結構的力量的一個例子,它向我展示了“初級開發者可能不理解它”的空虛論點。

如果您有一個包含Department對象集合的Organisation類,並且Department類包含Employee對象的集合,那么如何獲得組織的全部員工?

您可以遍歷對象並構建集合:

var allEmployees = new List<Employee>();
foreach (var department in organisation.Departments)
{
    foreach (var employee in department.Employees)
    {
        allEmployees.Add(employee);
    }
}

或者你可以簡單地使用單一陳述

var allEmployees = organisation.Departments.SelectMany(d => d.Employees).ToArray();

與手動循環相比,此代碼更簡潔,並且不易受人為錯誤的影響,並且結果數組的不變性比可變列表更不容易出錯。 為了獲得這些好處,有必要熟悉使用lambdas來表示FuncAction結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM