簡體   English   中英

完整組滿足條件的LINQ查詢

[英]LINQ query where complete group meets a condition

我存儲了很多這樣的文本行:

1|1000|1|0|Text Message|||
1|1000|1|1|Text Message|||
1|1000|2|0|Text Message|||
1|1000|2|1|Text Message|||
1|1000|3|0|Text Message|||
1|1001|1|0|Text Message|||

集合中的List<ObjRow> listRowsList<ObjRow> listRows

這是相應的類:

public class ObjRow
{
    private string n_Par { get; set; }
    private string n_Rad { get; set; }
    private string n_Lang { get; set; }
    private string n_Line_Mex { get; set; }
    private string text_Mex { get; set; } 
    private int n_Row { get; set; }
}

我想找到哪些線組(按屬性n_Rad分組,2°PIPE值)不具有值n_Lang == 3 (3°PIPE值)。

如何使用LINQ做到這一點?

這應該是您想要的:

var groupsWithoutLang3  = listRows
             .GroupBy(o => o.n_Rad)
             .Where(g => !g.Any(o => o.n_Lang == "3"));

它僅選擇不具有n_Lang == "3"ObjRow組。

var groups = listRows.GroupBy(row => row.Rad);
var result = groups.Where(group => !group.Any(item => (item.Lang == 3)));

這按Rad對行進行分組,然后選擇不包含Lang為3的行的組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM