代码之家  ›  专栏  ›  技术社区  ›  user13663655

我可以使用条件分组并返回源类型值吗

  •  0
  • user13663655  · 技术社区  · 3 年前

    我有以下脚本数据:

    数据库 文件
    主人 sql\u主机
    myDB sql\u SameGroup 1
    myDB sql\u SameGroup 2
    myDB sql\u SameGroup 3
    myDB sql\u特殊

    scripts.GroupBy(script => new { script.Database, script.File}) 将设为5组,但我只想要3组- 规则是按数据库进行区分,然后对于相同的数据库, 如果 File != sql_special ,我想把它放在同一组中 -这意味着在上表中,行1是组1,行2,3,4是组2,行5是组3。并返回脚本类型以供进一步处理。

    我觉得不合适 GroupBy 方法重载。我如何才能做到这一点?

    1 回复  |  直到 3 年前
        1
  •  0
  •   gunr2171    3 年前

    保持按数据库和文件属性分组,但不按整个文件属性分组,只需检查是否 sql_special 或者不是。

    scripts
        .GroupBy(script => new 
        { 
            script.Database, 
            IsSqlSpecial = script.File is "sql_special" 
        })
    

    Runnable online version