|
- using System;
- using System.Collections.Generic;
-
- public static class ListApplyAndFunction
- {
- public static List<TResult> Apply<TResult, TInput>(this IEnumerable<TInput> input, ListApplyAndFunction.Function<TResult, TInput> function, bool discardNulls = false)
- {
- List<TResult> list = new List<TResult>();
- foreach (TInput arg in input)
- {
- TResult tresult = function(arg);
- if (!discardNulls || tresult != null)
- {
- list.Add(tresult);
- }
- }
- return list;
- }
-
- public delegate TResult Function<out TResult, TArg1>(TArg1 arg1);
-
- public delegate TResult Function<out TResult, TArg1, TArg2>(TArg1 arg1, TArg2 arg2);
-
- public delegate TResult Function<out TResult, TArg1, TArg2, TArg3>(TArg1 arg1, TArg2 arg2, TArg3 arg3);
- }
|