c# - 如何检查字符串数组中的所有字符串是否都是数字?

标签 c# linq

我有一个字符串,我希望它只有数字。我试过这个,使用 LINQ:

string[] values = { "123", "a123" };
bool allStringsContaintsOnlyDigits = true;

foreach(string value in values)
{
    if(!value.All(char.IsDigit))
    {
        allStringsContaintsOnlyDigits = false;
        break;
    }
}

if(allStringsContaintsOnlyDigits) { /* Do Stuff */ }

但是只有两个字符串的循环(并且保证我有两个字符串)有点乏味......

所以我想也许这样做:

if(values[0].All(char.isDigit) && values[1].All(char.isDigit)) { /* Do Stuff */ }

但是有没有更优雅的方式呢?像这样的东西:

values.All(char.IsDigit) // for all strings

谢谢。

注意:需要拒绝负数。含义:-125 应该返回 false

最佳答案

怎么样

values.All(s => s.All(Char.IsDigit));

检查序列中的所有字符串所有字符是否都是数字。

关于c# - 如何检查字符串数组中的所有字符串是否都是数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697398/

相关文章:

c# - 动态切换状态机 Unity C#

c# - 数据库的位置?

c# - 如何将左外连接添加到分组和求和的 LINQ 查询中

c# - WPF中实时处理大图像

c# - .NET 反编译器和重新打包器

c# - 只从类属性中获取过滤元素

c# - LINQ 到 XML 语法

c# - 使用 lambda 从嵌套列表中分离值

c# - Linq 查询 - 列表中的列表

c# - 16 字节的 Rijndael 初始化向量