簡體   English   中英

LINQ 的 OrderBy 在 Visual Studio 的立即數 window 中的行為與在代碼中的行為不同

[英]LINQ's OrderBy behaves different in Visual Studio's Immediate window than within the code

在 .NET 的列表中使用 LINQ 的OrderBy function 和 Visual Studio 的 Immediate window 時,我看到了不同的結果:

信息

  • Visual Studio 2022 企業版 17.4.4
  • .NET 6 控制台項目

代碼

var l = new List<string>() {
            "a-test.de",
            "a.de"
        };


Console.WriteLine(l.OrderBy(e => e).ToList().First());

運行程序時的結果

Output 是"a-test.de"

使用立即數 window 時的結果

如果我在控制台 output 之后設置調試器並且我在立即 window 內運行l.OrderBy(e => e).ToList().First() output 是"a.de"

在此處輸入圖像描述

問題

我錯過了什么? :)

非常感謝你

我想這取決於你當前的文化

嘗試為OrderBy指定比較器

 var l = new List<string>() {
            "a-test.de",
            "a.de"
        };


Console.WriteLine(l.OrderBy(e => e, StringComparer.Ordinal).ToList().First());

它應該實現相同的行為

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM