使用先前排序的清单上的位置 - c#

我有一个List ,我之前已按对象上的字段之一对它进行排序。如果我在列表上执行Where(),我可以安全地假设Where的结果也将被排序吗?

// Sorted by salary, greatest to smallest.
List<Players> players = _playerRepo.GetAll().OrderByDescending(x => x.Salary).ToList();

// Is this list safe to assume that the players with smith as last name are sorted by salary as well?
List<Players> filteredPlayers = players.Where(x => x.LastName == "Smith").ToList();

参考方案

是的,Where不会更改先前排序列表的顺序,只会对其进行过滤。

而且,排序操作是稳定的,因此相等的值将保持其原始顺序。

.Net LINQ-使用其他字典过滤字典 - c#

我有两个相同类型的字典,A和B。Dictionary<string, IEnumerable<object>> 我使用对象来表示具有属性“ Id”的复杂类型。我正在寻找A中具有B中存在的对象(使用Id)但在另一个键下的所有项目。基本上是要判断对象是否已移动键。 A是新字典,B是旧字典。有没有使用LINQ完成此操作的合理方法?我希望结果…

LINQ RemoveAll代替循环 - c#

我有两个for循环,用于从列表中删除项目。我正在为这些循环寻找等效的LINQ语句for (Int32 i = points.Count - 1; i >= 0; i--) { for (Int32 j = touchingRects.Count - 1; j >= 0; j--) { if (touchingRects[j].HitTest(po…

Linq Any()的哪种使用效率更高? - c#

我有一个Linq查询,如下所示:return this._alarmObjectAlarmViolationList .Where(row => row.ObjectId == subId) .Where(row => row.AlarmInternalId == "WECO #1 (StdDev > UCL)") .W…

Java中的OrderByDecending(LINQ)等效项 - java

嗨,我是一名使用Java的C#开发人员。问题很简单:我如何才能将下面的c#代码写入Java并仍能正常工作:myCoffeeList.OrderByDescending(x => x.Name?.ToLower()?.Trim() == sender.Text.ToLower()?.Trim())); 我的sender.Text基本上是一个文本框。文本的…

在ASP.NET MVC中创建数据库回调的最有效方法 - c#

我有一个ASP.NET MVC网页,该网页基本上通过日期过滤器显示MS SQL数据库中表的行。当新行插入数据库表时,我想用新行列表更新网页视图。实现此目标的最有效方法是什么?基本上,我想从我的JavaScript创建一个到数据库服务器的回调,以用新结果更新UI。假设数据库表中的行数很大。(〜1百万)谢谢,cas 参考方案 如果数据库更新非常频繁,则可以按特定…