Linq to objects 如何使用LINQ显示数据
我有这样一个数据集: 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,fishingLinq 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
在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。注意:我在测试中使用了一个数据表。