【问题标题】:Assistance in Validating Binary协助验证二进制文件
【发布时间】:2020-01-13 00:57:31
【问题描述】:

需要帮助,无法弄清楚如何将其验证为二进制文件。任何帮助表示赞赏我知道我是一个菜鸟。

试过了……效果不太好

 // } while (binaryStringIsValid(binaryStr) == false);
//static bool binaryStringIsValid(string binaryStr)
//{
//    bool valid = false;
//    foreach (char ch in binaryStr)
//    {
//        if (ch != '0' && ch != '1')
//        {
//            Console.WriteLine("String Is Invalid");
//        }
//    }valid = binaryStr.Length < 9;
//    return valid;
//}


{

    int digits = 0;
    string binaryStr = "";
    int sum = 0;
    int remainder;
    int po2 = 0;

    Console.WriteLine("Enter a valid binary string: ");
    digits = Convert.ToInt32(Console.ReadLine());


    while (digits > 0)
    {
        remainder = digits % 10;
        sum = sum + remainder * Convert.ToInt32(Math.Pow(2, po2));
        po2 = po2 + 1;
        digits = digits / 10;
    }
    Console.WriteLine("Your binary string is equal to the decimal 
    number: " + sum);
    Console.ReadKey();

}

我需要确保它只有 0 和 1,并且长度为

【问题讨论】:

  • 检查this answer。这是关于如何验证和解析,但没有长度检查。
  • 嗯,if (remainder &gt; 1) throw ...。 -- 你也可以在转换为int之前检查输入字符串。
  • bool valid = binaryStr.Length &lt; 9 &amp;&amp; binaryStr.All(ch =&gt; ch == '0' || ch == '1');
  • do { Console.WriteLine("请输入有效的二进制字符串:"); binaryStr = Console.ReadLine(); } while (binaryStrIsValid(binaryStr) == true); Console.WriteLine("一个有效的字符串");
  • 它只是没有捕捉到非二进制条目。我觉得自己像个白痴哈哈。感谢您的快速回复。

标签: c# validation binary


【解决方案1】:

检查此代码

public bool IsBinary(string input) => new Regex("^[01]{1,9}$").IsMatch(input);

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2023-04-06
    • 1970-01-01
    • 2018-04-30
    相关资源
    最近更新 更多