using System;
using System.Collections.Generic;
class ArrayContains
{
static void Main() {
byte[,] arr = {{1, 2, 3}, {4, 5, 6}};
byte to_check = 3;
// Простейшее медленное решение.
foreach (byte b in arr) {
if (b == to_check) {
Console.WriteLine("Contains!");
break;
}
}
// Немного более сложное решение значительно более быстрое.
HashSet<byte> checker = new HashSet<byte>();
foreach (byte b in arr) checker.Add(b);
if (checker.Contains(to_check)) Console.WriteLine("Contains!");
}
}
将您的数组转换为 IEnumerable,您可以使用 Linq:
我会写两个解决方案 - 对于数据很多的情况,当您需要多次检查条目时,这种情况使用HashSet最快,也适用于数组不大的情况或者请求不多,一个简单的循环检查就足够了。
这是 C# 代码,您可以在线运行它:
带有扩展方法的变体
像这样享受