Action & Func & Tuple
Action & Func & Predicate
- Action用于没有返回值的方法(参数可以根据自己情况进行传递)
- Func恰恰相反用于有返回值的方法(同样参数根据自己情况情况)
- 记住无返回就用action,有返回就用Func
- Predicate是返回bool型的泛型委托,Predicate
表示传入参数为int,返回bool的委托, Predicate有且只有一个参数,返回值固定为bool
元组
开发人员在元组和匿名类型之间进行选择时,需要考虑几个因素。 一般来说,如果不使用表达式树,并且你熟悉元组语法,请选择 ValueTuple,因为它们提供可灵活命名属性的值类型。 如果使用表达式树并且想要命名属性,请选择匿名类型。 否则,请使用 Tuple。
Tuple<T1,T2> Class
public void NewItemSourceCreated(Tuple<int, string, int> tuple)
{
}
ValueTuple 和 Tuple
ValueTuple 是一个轻量级的值类型,并支持强命名,而 Tuple 是一个引用类型,总的来说,ValueTuple 要比 Tuple 拥有更高的性能,Tuple 中的属性是只读的,也就是说一旦创建好之后就不能进行变更了,而 ValueTuple 的属性就可以在创建之后进行修改。
var author = (Id: 1, FirstName: "Joydip", LastName: "Kanjilal");
static (int, string, string) GetAuthor()
{
return (Id: 1, FirstName: "Joydip", LastName: "Kanjilal");
}