c# - 用于检查 x 是否以 y 开头的字符串的 IComparer

标签 c# icomparer startswith

我有一个字符串数组,我需要获取所有以某个“前缀”开头的字符串。我想使用 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/

相关文章:

C# 泛型和接口(interface)

c# - CompareTo() 方法不起作用

python - 检查数据框中列的字符串值是否以元组的字符串元素开头(除了 str.startswith)

c# - 这是 MVC 吗?我使用了什么 'design pattern'?

c# - 如何从 XAML 访问代码中的对象

c# - 无法将 void 转换为 int

c# - 错误 :not implement interface member 'System. IComparable.CompareTo(object)

c# - IEqualityComparer 和单例

c# - 如何通过 StartsWith 或包含搜索值查找列表中的第一个或最后一个字符串而不添加到另一个列表

java/startsWith 不止一个字母?