问题标签 [morelinq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
112 浏览

c# - DistinctBy 3 参数

我正在尝试使用 C# MoreLinq 来尝试找出重复项。

这是一个例子。有联盟,联盟内有球队。球队中的每个球员都可以踢任何位置。

有了这个我想 GroupBy

例子

如果 Id1 = 1、Id2 = 2 和 Id3 = 3,在本例中我们将获得 1 个对象。

我要解决的问题是,如果 Id1 = 2、Id2 = 3、Id3 = 1,我希望它也属于同一个列表,因为 int 值仍然是 1、2、3(无论顺序如何,它们仍然是相同的值)。

我觉得这可能很简单,但我不确定。

解决了

最终做了这样的事情

这消除了重复。关闭。

0 投票
1 回答
1378 浏览

c# - GroupBy 和 MoreLinq 的 DistinctBy 的性能差异

阅读这个问题(和答案),我发现至少有两种方法可以让不同的项目在一段IQueryabe时间内仍然可以选择过滤的内容。这两种方法是:

或使用 MoreLinqsDistinctBy

但是该线程并没有解释性能差异以及何时应该使用另一个。那么我什么时候想使用其中一个呢?

0 投票
2 回答
231 浏览

c# - 谁能解释这个枚举器语法?

我在 MoreLinq repo 中找到了这段代码,但无法理解这一行:

0 投票
3 回答
1395 浏览

c# - 有没有更好的方法来删除列表中多个属性的重复值?

当第一个、第二个或两个属性相等(在列表中出现多次)时,尝试从列表中删除重复项。使用 MoreLINQ,下面的代码正在运行:

问题: 是否有更有效和/或更短的方法来实现这一目标?

0 投票
1 回答
1591 浏览

c# - MoreLinq exceptBy 只有一个匹配的属性

我有 2 个不同的项目,我正在尝试使用 more linq 库执行 except by 方法。两个项目之间唯一的共同点是一个名为 Symbol 的字符串。第 1 项是元组列表,第 2 项是我用 linq 打开的数据库表

第 1 项:

第 2 项:

这是我尝试的代码。我正在尝试从 Item1 返回 Item2 中不存在的所有元素:

这不起作用,因为 Item1 和 Item2 是完全不同的类型

无法从用法中推断方法“MoreEnumerable.ExceptBy(IEnumerable, IEnumerable, Func)”的类型参数。尝试明确指定类型参数。

0 投票
1 回答
168 浏览

c# - 从文件中检索字符串,当多行包含完全相同的字符串时使用 Linq 进行过滤

我正在使用 Visual Studio 和 NuGet 包 MoreLinq 作为我的以下解决方案。

我希望检索的文件的示例内容,该文件还包含其他不相关的数据:

我对解决方案的尝试几乎完全符合我的要求。但几乎,我可以明白为什么,这是合乎逻辑的:

在这一点上,我的解决方案会给我以下结果:

如果您没有注意到,它缺少我也想检索的最后一行 -> #include "hello.h"。我解决这个问题的尝试是将以下行添加到代码中

但这(如预期)仅返回以下结果:

完全忽略了其他想要的信息。因为#include "hello.h"出现多次,并且它在找到的第一个处停止。

我只想从提到的文件中检索这些行,而不会丢失其中一行:

对于仍在使用 Linq 的解决方案,请参阅下面的@Freggar 答案。

0 投票
1 回答
167 浏览

morelinq - Morelinq 不适用于 .net 框架 4.5.1

我在我的 asp.net mvc 框架 4.5.1 项目中使用 morelinq,它没有加载正确的 system.runtime dll。

它抛出以下错误。

“System.Object”类型是在未引用的程序集中定义的。您必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。类型“System.Attribute”是在未引用的程序集中定义的。您必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。

任何线索?我不想使用旧版本的 morelinq。

0 投票
2 回答
1930 浏览

c# - MoreLINQ的DistinctBy和Linq的GroupBy有什么区别

我有两个按项目列表分组的版本

和分组

这两个在我看来是一样的,但是对于他们的区别,他们的表现和缺点必须有一个外行的解释

0 投票
0 回答
435 浏览

c# - .NET 4.7.2 项目中的 .NET Standard 2.0 库引用优于 .NET 4.5.1

我有一个老式的 C# WPF 项目文件。这是一个 .NET Framework 4.7.2 项目。我想引用一个为 .NET Standard 2.0 和 .NET Framework 4.5.1 构建的 NuGet 库。一个例子是morelinq

据我了解,.NET Framework 4.7.2 完全实现了 .NET Standard 2.0 API。因此,我希望我的项目引用 NuGet 包中的 .NET Standard 2.0 版本,而不是 .NET Framework 4.5.1 版本。这样做的好处是 .NET Standard 2.0 版本morelinq没有其他依赖项,例如在System.ValueTuple.

但是,当我添加 NuGet 包时,它默认引用 .NET Framework 4.5.1 构建,因此包含其附加依赖项。

这只是少数此类情况之一。所以目前看来,至少对我来说,我引用了许多可以避免的不必要的额外依赖项。

(如果这是重复的,我深表歉意。我确实尝试过先搜索。)

0 投票
3 回答
342 浏览

c# - 如何使用 linq 或 moreLinq 比较和合并列表

我有两个 KeyValuePair 类型的列表。

值如下

我想合并这两个列表,所以它看起来像这样

Linq 或 MoreLinq 有没有办法真正做到这一点,即。

  • 合并两个列表中的项目
  • 如果列表 B 中不存在相同的项目,则使用列表 A 中的项目
  • 如果不相等,则将列表 A 中的项目替换为列表 B 中的项目