小编Lef*_*t92的帖子

如何检查int []是否只包含某些数字?

我需要检查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");
Run Code Online (Sandbox Code Playgroud)

使用Where():

if(myArray.Where(n => !(n==1 || n==0)).ToArray().Length > 0)
    throw new Exception("Array contains invalid values");
Run Code Online (Sandbox Code Playgroud)

c# arrays error-checking

5
推荐指数
1
解决办法
3122
查看次数

"没有调试时启动"的C#控制台应用程序没有输出

尝试在没有调试器的情况下运行C#控制台应用程序时(即Ctrl+F5)终端中没有输出.当使用调试器(即just F5)运行时,程序按预期执行.

我做了一个快速测试项目,以确保它不仅仅是我的项目:

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Test");
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用调试器运行,"Test"输出到控制台,没有它,没有.我不知道我改变了什么,因为(我原来的)程序在没有调试器之前运行正常

c# debugging visual-studio-2015

3
推荐指数
1
解决办法
811
查看次数