我需要检查 int[] 是否仅包含某些值(在本例中为 0s 和 1s),如果不包含则抛出异常。
有没有比以下任何一种解决方案更有效的方法?
简单(但 O(n)):
for(int n = 0; n < myArray.Length; n++)
if(!(myArray[n] == 0 || myArray[n] == 1))
throw new Exception("Array contains invalid values");
使用哪里():
if(myArray.Where(n => !(n==1 || n==0)).ToArray().Length > 0)
throw new Exception("Array contains invalid values");