我有一个字符串数组,最简单的方法是什么来检查数组中的所有元素是否都是数字?
string[] str = new string[] { "23", "25", "Ho" };
var isOnlyNumbers = str.All(s =>
{
double i;
return double.TryParse(s, out i);
});
如果你添加对Microsoft.VisualBasic
程序集的引用,你可以使用以下一行代码:
bool isEverythingNumeric =
str.All(s => Microsoft.VisualBasic.Information.IsNumeric(s));
试试这个:
string[] str = new string[] { "23", "25", "Ho" };
double trouble;
if (str.All(number => Double.TryParse(number, out trouble)))
{
// do stuff
}
using System.Text.RegularExpressions;
...
bool isNum= Regex.IsMatch(strToMatch,"^\\d+(\\.\\d+)?$");
str.All(s => s.All(c => Char.IsDigit(c)));
或者不使用 Linq...
bool allNumbers = true;
foreach(string str in myArray)
{
int nr;
if(!Int32.TryParse(str, out nr))
{
allNumbers = false;
break;
}
}