C# 在BinarySearch中比较什么?

C# 在BinarySearch中比较什么?,c#,list,search,comparison,binary-search,C#,List,Search,Comparison,Binary Search,很抱歉,这个问题似乎很简单,但我在互联网上找不到这个问题: this.StorageComputers.BinarySearch(new StorageComputer(IPAddress.Any, Space), new StorageComputerComparer()); 我的问题是,我不知道他们是在比较枚举对象和第一个参数,还是第一个参数和枚举对象。我寻找这个是因为在BinarySearch中我需要返回那个台StorageComputer,whitch的自由空间比第一个参数的自由空间大

很抱歉,这个问题似乎很简单,但我在互联网上找不到这个问题:

this.StorageComputers.BinarySearch(new StorageComputer(IPAddress.Any, Space), new StorageComputerComparer());
我的问题是,我不知道他们是在比较枚举对象和第一个参数,还是第一个参数和枚举对象。我寻找这个是因为在BinarySearch中我需要返回那个台StorageComputer,whitch的自由空间比第一个参数的自由空间大。有人知道吗,我怎样才能做到?我知道我可以通过这个.StorageComputers列表的foreach循环来搜索它,但我在某个地方发现二进制搜索比普通搜索快。请帮帮我

编辑:

代码是由我开发的。我独自找到了问题的答案


方法比较的第一个参数是枚举对象,第二个参数是在方法BinarySearch中指定为第一个参数的对象

我想看看微软的

this.StorageComputers.BinarySearch(新的StorageComputer(IPAddress.Any,Space),新的StorageComputerComparer())是列表(T)的一个实现。二进制搜索(T,IComparer(of T))


List(T)
可以是
this.PotatoSalad
,如果我这样实现的话。

页面右上方:“使用指定的比较器在整个排序列表(of T)中搜索一个元素,并返回该元素的从零开始的索引。”T是存储计算机。请看编辑后的答案……我为您鼓掌。回答你自己的问题,接受你自己的答案!我的理解正确吗?您并不是真的试图查找具有与第一个参数相等的空间的StorageComputer,而是试图查找具有更大空间的计算机?请注意,二进制搜索需要对列表进行排序才能工作。