linq-to-objects相关内容

添加LINQ的LongCount扩展方法有什么实际原因吗?

LINQ有两种计算可枚举数的方法:Count和LongCount。实际上,这两者之间唯一的区别是,第一个返回int,而第二个返回long。 我不清楚为什么添加了第二种方法。它唯一的用例似乎是处理超过2B个元素的可枚举项。在我看来,这是一个糟糕的决定,原因有几个: 大多数BCL集合都由一维数组支持,这些数组的长度保证适合int。尝试越过它将引发OverflowException/OutO ..
发布时间:2022-04-19 11:43:03 C#/.NET

IEnumerable<T> 上的动态 LINQ OrderBy/IQueryable<T>

我在 VS2008 示例 中找到了一个动态 LINQ 示例,它允许您使用类似 SQL 的字符串(例如 OrderBy("Name, Age DESC")) 进行排序.不幸的是,包含的方法仅适用于 IQueryable.有没有办法在 IEnumerable 上获得此功能? 解决方案 刚刚偶然发现这个老歌...... 要在没有动态 LINQ 库的情况下执行此操作,您只需要如下 ..
发布时间:2022-01-30 09:47:22 C#/.NET

数据表选择与 LINQ 选择

关于何时 DataTable.Select 的任何建议 应该与 LINQ Select 在处理内存数据表时? 我发现 LINQ 语法更简单、更强大,但我不确定是否存在性能或其他问题使 DataTable select 更可取. (我使用的第三方 API 提供了一个从数据库预先填充的 DataTable.我需要在内存中进一步过滤.) 解决方案 根据个人经验,我尽量避免使用 Dat ..
发布时间:2021-12-28 21:00:11 C#/.NET

使用 LINQ 对对象列表进行分组

我有一个对象: 公共类客户{公共 int ID { 获取;放;}公共字符串名称 { 获取;放;}公共 int GroupID { 获取;放;}} 我返回一个可能如下所示的列表: ListCustomerList = new List();CustomerList.Add( new Customer { ID = 1, Name = "One", GroupID = 1 } );Custome ..
发布时间:2021-12-26 23:59:02 C#/.NET

用于连接的 Lambda 表达式

公开课CourseDetail{公共课程详细信息();公共字符串 CourseId { 获取;放;}公共字符串 CourseDescription { 获取;放;}public long CourseSer { get;放;}}公共类 RefUIDByCourse{public long CourseSer { get;放;}公共双交付剂量{得到;放;}公共双计划剂量{得到;放;}公共字符串 Re ..
发布时间:2021-12-23 22:27:07 C#/.NET

“嵌套foreach"vs “lambda/linq 查询"性能(LINQ 到对象)

从性能的角度来看,您应该使用“嵌套 foreach"还是“lambda/linq 查询"? 解决方案 尽可能编写最清晰的代码,然后进行基准测试和分析以发现任何性能问题.如果您确实遇到性能问题,您可以尝试不同的代码来确定它是否更快(始终使用尽可能真实的数据进行测量),然后判断是否性能的提升值得提高可读性. 在许多情况下,直接foreach 方法将比 LINQ 更快.例如,考虑: va ..
发布时间:2021-12-23 21:58:55 C#/.NET

LINQ 身份函数

对 LINQ 语法有点小题大做.我正在使用 SelectMany(x => x) 将 IEnumerable> 展平. 我的问题是 lambda 表达式 x =>x.它看起来有点丑.是否有一些静态的“身份函数"对象可以代替 x => 使用?x?类似于 SelectMany(IdentityFunction)? 解决方案 注意:这个答案对于 C# 3 是正确的,但是在某些时候(C# 4 ..
发布时间:2021-12-09 11:50:34 C#/.NET

如何创建动态LINQ join扩展方法

有一个动态 LINQ 扩展方法库作为示例发布,Visual Studio 2008.我想用 join 方法扩展它.下面的代码在运行时因参数未命中匹配异常而失败.问题出在哪里? public static IQueryable Join(这个IQueryable外部,IEnumerable内部,字符串外选择器、字符串内选择器、字符串结果选择器、params 对象[] 值){如果(内部==空)thr ..

Find() 与 Where().FirstOrDefault()

我经常看到人们使用 Where.FirstOrDefault() 进行搜索并获取第一个元素.为什么不直接使用Find()?对方有优势吗?我看不出有什么区别. 命名空间 LinqFindVsWhere{课程计划{静态无效主(字符串 [] args){列表list = new List();list.AddRange(新字符串[]{“项目1","项目 2","项目 3",“项目 4"});字符串 i ..
发布时间:2021-12-09 11:33:26 C#/.NET

学习LINQ

概述 我在这个网站上问了很多关于LINQ.我提出的问题广泛而多样,而且背后往往没有太多背景.因此,为了巩固我在 Linq 上获得的知识,我发布了这个问题,以期在我继续了解 LINQ 时使用其他信息来维护和更新它. 我也希望它能够成为其他想要了解 LINQ 的人的有用资源. 什么是 LINQ? 来自 MSDN: LINQ 项目是一个代号.NET 的扩展集包含的框架语言集 ..
发布时间:2021-12-09 11:12:16 其他开发

LINQ to SQL 和有序结果的运行总计

我想在 DataGridView 中显示客户的会计历史,并且我想有一列显示其余额的运行总计.我这样做的旧方法是获取数据,遍历数据,然后将行一一添加到 DataGridView 并计算当时的运行总数.瘸.我更愿意使用 LINQ to SQL 或 LINQ(如果 LINQ to SQL 不可能的话)来计算运行总数,这样我就可以将 DataGridView.DataSource 设置为我的数据. ..
发布时间:2021-12-09 11:08:14 C#/.NET

如何让 LINQ 返回具有给定属性最大值的对象?

如果我有一个看起来像这样的类: 公共类项目{公共 int ClientID { 获取;放;}公共 int ID { 获取;放;}} 还有这些物品的集合... List项目 = getItems(); 如何使用 LINQ 返回具有最高 ID 的单个“Item"对象? 如果我这样做: items.Select(i => i.ID).Max(); 我只会得到最高的 ID,当我真正想要返 ..
发布时间:2021-12-09 11:07:13 C#/.NET

使用 Lambda/Linq to objects 对列表进行排序

我在字符串中有“按属性排序"的名称.我需要使用 Lambda/Linq 对对象列表进行排序. 例如: 公共类员工{公共字符串名字{set;得到;}公共字符串姓氏 {set;得到;}公共日期时间 DOB {set;得到;}}public void Sort(ref List list, string sortBy, string sortDirection){//示例数据://sortBy ..
发布时间:2021-12-09 11:01:11 C#/.NET

检查列表中的所有项目是否相同

我有一个 List(Of DateTime) 项目.如何使用 LINQ 查询检查所有项目是否相同?在任何给定时间,列表中可能有 1、2、20、50 或 100 个项目. 谢谢 解决方案 像这样: if (list.Distinct().Skip(1).Any()) 或 if (list.Any(o => o != list[0])) (可能更快) ..
发布时间:2021-12-06 10:26:06 C#/.NET

使用 linq 删除列表中的重复项

我有一个带有 属性(ID、名称、代码、价格) 的 Items 类. Items 列表中填充了重复的项目. 例如: 1 Item1 IT00001 $1002 项目 2 IT00002 200 美元3 项目 3 IT00003 150 美元1 件 1 IT00001 100 美元3 项目 3 IT00003 150 美元 如何使用linq删除列表中的重复项? 解决方案 var ..
发布时间:2021-12-01 09:37:39 C#/.NET