c# - 如何在 Visual C# 中查找值是否在数组中

标签 c# arrays .net visual-studio search

如果我有一个整数数组,我想快速检查某个整数值是否在该数组中,是否有方法可以做到这一点?

最佳答案

如果数组已排序,那么这是最快的:

Array.BinarySearch(myArray, value) >= 0;

如果数组被大量搜索并且很少被修改,那么你可能会发现在修改后对数组进行排序(使用Array.Sort)并使用上面的方法是值得的。否则,请使用您喜欢的选项:

Array.IndexOf(myArray, value) >= 0; //.Net 1

Array.Exists(array, delegate(int x) { return x == value; }); //.Net 2

myArray.Contains(value); //.Net 3

IndexOf 对于未排序的数组具有最佳性能。第二个选项使用谓词委托(delegate),第三个选项需要创建一个枚举器对象。

关于c# - 如何在 Visual C# 中查找值是否在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1807481/

相关文章:

php - 如何根据另一个数组中给定的条件从多维数组值中排除

iphone - iOS:企业服务器架构

c# - IsSingleByte Encoding的GetByteCount为什么要进行计算

c# - datagridview 中的复杂布局

c# - Xamarin Azure Active Directory 重定向 URI 错误

c# - 使用正则表达式模式查找列表中是否存在项目

c# - 按名称获取正在运行的进程的路径

javascript - React-native 数组检查值是否存在

javascript - 动态调用方法 | JavaScript

c# - 如何将 System.Windows.Media.Imaging.BitmapImage 转换为 System.Drawing.Image?