Linq表达式类型转换

本文关键字:类型转换 表达式 Linq | 更新日期: 2023-09-27 17:49:39

就两个简单的问题

1。下面的语句叫什么?

Func<usersDto, bool> predicate

2。它和下面有什么不同?

Expression<Func<usersDto, bool>>

3。如何将Func<type1,bool>转换为Func<type2,bool> ?似乎是先进的东西我

GetUsers(Func<UserDto,bool> predicate)
{    
  return EfContext.Users.Where ( convert above predicate to be passed here)
                        .Cast<>();       
}

Linq表达式类型转换

Func<T, TResult>是一个内置委托,它接受一个类型为T的参数并返回一个类型为TResult的值。在你的问题中,predicate是一个委托,接受usersDto的实例并返回bool

Expression<Func<T, TResult>>是一个未编译的 Func<T, TResult>,它可以被分析,或者打包到另一个表达式中作为一部分。