neu*_*cer 2 c# arrays visual-studio
如果我有一个int数组,并且我想快速检查某个int值是否在该数组中,是否有方法可以做到这一点?
如果数组已排序,那么这是最快的:
Array.BinarySearch(myArray, value) >= 0;
Run Code Online (Sandbox Code Playgroud)
如果对数组进行了大量搜索并且很少进行修改,那么您可能会发现在修改(使用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
Run Code Online (Sandbox Code Playgroud)
IndexOf对于未排序的数组具有最佳性能.第二个选项使用谓词委托,第三个选项需要创建枚举器对象.
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |