我有一个字符串数组,我需要获取所有以某个“前缀”开头的字符串。我想使用 Array.BinarySearch()。是否可以?如果是这样,我应该如何编写比较器?
最佳答案
不,在这种情况下您不能使用 BinarySearch
。您可以改用 Enumerable.Where
:
Dim query = From str In array Where str.StartsWith("prefix")
或使用(VB.NET 中的 ugly)方法 synatx:
query = array.Where(Function(str) str.StartsWith("prefix"))
编辑:糟糕,C#
var query = array.Where(s => s.StartsWith("prefix"));
如果要创建新的过滤数组,请使用 ToArray
。
关于c# - 用于检查 x 是否以 y 开头的字符串的 IComparer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27020583/