检查数字的最简单方法

时间:2009-12-14 09:22:39

标签: c# linq

我有一个字符串数组。检查数组中所有元素是否为数字

的最简单方法是什么
string[] str = new string[] { "23", "25", "Ho" };

6 个答案:

答案 0 :(得分:6)

你可以这样做:

var isOnlyNumbers = str.All(s =>
    {
        double i;
        return double.TryParse(s, out i);
    });

答案 1 :(得分:6)

如果添加对Microsoft.VisualBasic程序集的引用,则可以使用以下单行程序:

bool isEverythingNumeric = 
    str.All(s => Microsoft.VisualBasic.Information.IsNumeric(s));

答案 2 :(得分:4)

试试这个:

string[] str = new string[] { "23", "25", "Ho" };
double trouble;
if (str.All(number => Double.TryParse(number, out trouble)))
{
    // do stuff
}

答案 3 :(得分:3)

如何使用正则表达式?

 using System.Text.RegularExpressions;
 ...
 bool isNum= Regex.IsMatch(strToMatch,"^\\d+(\\.\\d+)?$");

TryParse

答案 4 :(得分:2)

使用字符串也是字符数组的事实,您可以执行以下操作:

str.All(s => s.All(c => Char.IsDigit(c)));

答案 5 :(得分:1)

或者没有linq ......

bool allNumbers = true;
foreach(string str in myArray)
{
   int nr;
   if(!Int32.TryParse(str, out nr))
   {
      allNumbers = false;
      break;
   }
}