小编nev*_*ova的帖子

Lambda表达式替代了几个if语句

我正在尝试完成表达式功能替代方案

private static Expression<Func<UserProfile, bool>> CompareFilter(FilterViewModel f)
{
       ...
}
Run Code Online (Sandbox Code Playgroud)

在这一个:

private static bool CompareFilter(UserProfile profile, FilterViewModel filter)
{
        if (filter.FirstName != null)
        {
            if (profile.FirstName != null)
            {
                if (profile.FirstName.CompareTo(filter.FirstName) != 0)
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }

        if (filter.TownId != null)
        {
            if (profile.TownId != filter.TownId)
            {
                return false;
            }
        }

        // true if at least one of the filter interests match
        if (filter.InterestsIds != null)
        {
            var firstInterestFound = profile.Interests
                 .Where(i => …
Run Code Online (Sandbox Code Playgroud)

c# lambda expression predicate

1
推荐指数
1
解决办法
847
查看次数

标签 统计

c# ×1

expression ×1

lambda ×1

predicate ×1