使用ReSharper将LINQ转换为更详细的表达式?

问题描述

我注意到ReSharper建议我可以使用LINQ“压缩”我的代码,有没有办法“解压缩”它们?我有很多使用LINQ表达式的同事。尚未使用其编写方式。

例如

var cp = currentCase.CaseParts;
foreach (var t in cp)
{
    if (t.Part == null || t.CasePartRole == null || t.Part.Id != part.Id || t.CasePartRole.Id != role.Id)
    {
        continue;
    }

    if (!t.Period.IsActive)
    {
        throw new InvalidOperationException($"Case part already exist. CaseId: {currentCase.Id},role: {role.Title},name: {part.GetName()}");
    }
}

被压缩为LINQ表达式:

var cp = @case.CaseParts;
if (cp.Where(t => t.Part != null && t.CasePartRole != null && t.Part.Id == part.Id && t.CasePartRole.Id == role.Id).Any(t => !t.Period.IsActive))
{
    throw new InvalidOperationException($"Case part already exist. CaseId: {@case.Id},name: {part.GetName()}");
}

如果我只有LINQ表达式怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)