验证整数值的最短方法

本文关键字:方法 整数 验证 | 更新日期: 2023-09-27 18:30:51

我正在从文件中读取值并检查我的代码是的值

while (sr.EndOfStream != null)
{
     a= sr.EndOfStream ? "" : sr.ReadLine();
     if (Convert.ToInt32(a) < 1)
     {
         Console.WriteLine(a+ " is not a right value");
         flag = true;
         break;
     }
     b= sr.EndOfStream ? "" : sr.ReadLine();
     if (Convert.ToInt32(b) < 1)
     {
         Console.WriteLine(b+ " is not a right value");
         flag = true;
         break;
     }
     ....

有没有其他方法让我的代码看起来不错

验证整数值的最短方法

我会使用非常好的TryParse方法来验证您的输入,并每次通过while循环处理一行。

while (!sr.EndOfStream)
{
    int a;
    string s = sr.EndOfStream ? "" : sr.ReadLine();
    if (int.TryParse(s, out a))
    {
        // Use the value of a, since it is an integer
    }
    else
    {
        Console.WriteLine(a + " is not a right value");
        flag = true;
        break;
    }
}

C# 语言为此提供了一些实用工具方法。我们描述了一种将字符串转换为整数的简单方法。此方法可避免无法转换字符串时的异常。

        int value;
        if (Int32.TryParse("String Value", out value))
        {
            //Converted
        }
        else
        {
            //Can not parse to Int 
        }

从我的手机上写信,所以请原谅格式...

var lines = file.readalllines(path);
var indexes //list
for(int I = 0; I < lines.count; I++)
{
    int current;
    if(!int.TryParse(lines[I], out current)
        indexes.add(I);
}

索引现在将是每个错误行的列表(0 索引)