簡體   English   中英

C#LINQ過濾

[英]C# LINQ filtering

我有這段代碼

            var tblGrouped = dtCSV.AsEnumerable()
                .GroupBy(r => new
                {
                    product_id   = r.Field<String>("product_id"),
                    owner_org_id = r.Field<String>("owner_org_id"),
                });

但我想添加其他列以進行過濾。 例如,基本上,如果course_type_id = 1。 dtCSV是填充course_type_id的源。 我嘗試了以下操作,但沒有成功:

            var tblGrouped = dtCSV.AsEnumerable()
                .GroupBy(r => new
                {
                    product_id   = r.Field<String>("product_id"),
                    owner_org_id = r.Field<String>("owner_org_id"),
                    course_type_id = "1",
                });

如果我正確理解了您的要求,那么您想將course_type_id為1的行course_type_id

var tblGrouped = dtCSV.AsEnumerable()
    .Where(r => r.Field<String>("course_type_id") == "1")
    .GroupBy(r => new
        {
            product_id   = r.Field<String>("product_id"),
            owner_org_id = r.Field<String>("owner_org_id"),
        });

您需要先添加條件。 您可以使用.Where來做到這一點:

var tblGrouped = dtCSV.AsEnumerable()
    .Where(r => r.Field<String>("course_type_id") == "1")
    .GroupBy(r => new
    {
        product_id   = r.Field<String>("product_id"),
        owner_org_id = r.Field<String>("owner_org_id"),
        course_type_id = "1"
    });

通過使用Where語法Ex進行過濾。 .Where(a=>a.Field<String>("course_type_id") == "1")

暫無
暫無

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

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