PrepAway - Latest Free Exam Questions & Answers

Which type of delegate should you use?

You are developing an application.
You need to declare a delegate for a method that accepts an integer as a parameter, and then
returns an integer.
Which type of delegate should you use?

PrepAway - Latest Free Exam Questions & Answers

A.
Action<int>

B.
Action<int, int>

C.
Func<int, int>

D.
Func<int>

2 Comments on “Which type of delegate should you use?

  1. anii says:

    Explanation:

    Difference between Func, Action & Predicate:

    The difference between Func and Action is simply whether you want the delegate to return a value (use Func) or not (use Action).

    Func is probably most commonly used in LINQ – for example in projections:

    list.Select(x => x.SomeProperty)
    or filtering:

    list.Where(x => x.SomeValue == someOtherValue)
    or key selection:

    list.Join(otherList, x => x.FirstKey, y => y.SecondKey, …)

    Action is more commonly used for things like List.ForEach: execute the given action for each item in the list. I use this less often than Func, although I do sometimes use the parameterless version for things like Control.BeginInvoke and Dispatcher.BeginInvoke.

    Predicate is just a special cased Func really, introduced before all of the Func and most of the Action delegates came along. I suspect that if we’d already had Func and Action in their various guises, Predicate wouldn’t have been introduced… although it does impart a certain meaning to the use of the delegate, whereas Func and Action are used for widely disparate purposes.

    Predicate is mostly used in List for methods like FindAll and RemoveAll.

    Source: http://stackoverflow.com/questions/4317479/func-vs-action-vs-predicate




    1



    0

Leave a Reply