Linq to objects 如何使用LINQ显示数据

Linq to objects 如何使用LINQ显示数据,linq-to-objects,Linq To Objects,我有这样一个数据集: Attic Indoor Indoor Cable Indoor Indoor Double Indoor Indoor Fireplace Indoor Indoor Basketball Outdoor Outdoor Freshwater Leisure Acti

我有这样一个数据集:

Attic Indoor Indoor Cable Indoor Indoor Double Indoor Indoor Fireplace Indoor Indoor Basketball Outdoor Outdoor Freshwater Leisure Activities Leisure Activities Fishing Leisure Activities Leisure Activities 使用linq,我想将数据显示为

Indoor | Attic,Cable,Double,FirePlace Outdoor | Basketball Leisure Activities | Freshwater,fishing
在C中,这是我的示例代码。手动创建DataTable列,如dt.columns.AddBranch代码、TypeOfsString

DataTable dt = CreateDataTableForHqSql();

        List<MALSATIS_VIEW> value = (from s in hqsqlDataContext.MALSATIS_VIEWs
                                     where
                                     s.TRANSACTION_DATE >= startDate && s.TRANSACTION_DATE <= endDate //starting
                                     select s).ToList();

        foreach (MALSATIS_VIEW item in value)
        {
            object[] row = new object[]
            {
            item.BRANCH_CODE,
            item.TRANSACTION_DATE,
            item.CODE,
            item.EXPLAIN,
            item.EXPLAIN_CONT,
            item.BIRIM,
            item.QUANTITY,
            item.TOT_CIRO,
            item.TOT_VAT
            };
            dt.Rows.Add(row);
        }

我假设你指的是一个真实的数据集。我再也不用这些了,所以我的语法可能有点偏离,但基本思想是将第一列按第二列分组,然后从中选择分组键第二列和分组的串联结果

using System.Data;
using System.Linq;

var display = ds.AsEnumerable()
                .GroupBy( r => r[1], r => r[0] )
                .Select( g => new
                 {
                     RecreationType = g.Key,
                     Examples = string.Join( ",", g.Select( e => e.ToString() )
                                                   .ToArray() )
                 } );

如果它真的是你拥有的对象列表,然后,您可以将其更改为按特定属性分组,而不是按列号分组,并且可能会在内部select子句中忽略ToString,因为它已经是强类型字符串属性。

我正在尝试此代码,但在linq中,我无法获取.groupBy。例如,我获取的是System.Data.DataRow,我如何获取text value?@Vara-我有机会在编译器中实际查看它,并更新了我的示例。您需要使用AsEnumerable来转换为EnumerablerRowCollection,而不是直接引用行。添加对System.Data.DataSetExtensions的引用,并确保使用System.Linq。注意:我在测试中使用了一个数据表。