Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#LINQ使用了错误的比较_C#_Linq - Fatal编程技术网

C#LINQ使用了错误的比较

C#LINQ使用了错误的比较,c#,linq,C#,Linq,我正在尝试这样的事情: List<MyType> sortedList = one.Concat(two).ToList(); // one and two are both List<MyType> sortedList.Sort((a, b) => a.Value.CompareTo(b.Value)); 当我尝试构建此文件时,会出现以下错误: 错误CS7036:未给出与“MemoryExtensions.CompareTo(ReadOnlySpan、Read

我正在尝试这样的事情:

List<MyType> sortedList = one.Concat(two).ToList(); // one and two are both List<MyType>
sortedList.Sort((a, b) => a.Value.CompareTo(b.Value));
当我尝试构建此文件时,会出现以下错误:

错误CS7036:未给出与“
MemoryExtensions.CompareTo(ReadOnlySpan、ReadOnlySpan、StringComparation)”的必需形式参数“
comparisonType
”相对应的参数

看起来它试图使用char的
CompareTo
,而不是long


如何修复此问题?

我不知道是什么原因导致了原始错误

使用
OrderBy
而不是
Sort
生成无错误的代码,但是:

List<MyType> sortedList = one.Concat(two).OrderBy(x => x.Value).ToList();
List-sortedList=one.Concat(两个).OrderBy(x=>x.Value.ToList();

所以我将使用这个方法。

列表变量的类型是什么?请注意,
List.Sort
将列表排序到位-它不会返回新列表。你的意思是“订购者”
?@DStanley现在这个问题更像我的代码了我刚刚运行了你的代码。。它编译得很好。结果也进行了排序。您不能做的一件事是将.Sort()作为void方法分配给变量。排序将对列表进行适当的排序。您确定这段特定的代码导致了您的问题吗?提供的代码使用long按预期进行编译和排序。看到跨距的使用,我相信这个问题与long之外的其他问题有关(除非为了示例而简化了类型)。任何额外的上下文/代码可能会有帮助,因为我没有看到任何问题,它是不欢迎的评论:考虑重新阅读指南发布代码。
List<MyType> sortedList = one.Concat(two).OrderBy(x => x.Value).ToList();