如果我有一个整数数组,我想快速检查某个整数值是否在该数组中,是否有方法可以做到这一点?
最佳答案
如果数组已排序,那么这是最快的:
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/