【问题标题】:How do I validate a List<String> with char.IsDigit?如何使用 char.IsDigit 验证 List<String>?
【发布时间】:2020-04-17 11:12:42
【问题描述】:

我想用 char.IsDigit 验证列表,但某些字符串为空/null,这给了我异常(System.ArgumentNullException: 'Value cannot be null.'),有没有办法绕过空单元格并且只验证具有值的字符串?

foreach (var item in accounts)
{
    if(item.Jan == null || !item.Jan.All(c => char.IsDigit(c)))

【问题讨论】:

  • 您已经拥有item.Jan == null。你能解释一下为什么这对你的用例来说还不够吗?
  • 操作码在编辑之前确实包含了一个空检查。 .
  • 我会推荐阅读How to Askminimal reproducible example 指南。添加一个产生错误的可复制的小例子总是一件好事,比如dotnetfiddle.net/VuKzUf。用一个简单的类和初始化。这样,如果您对 Item null 或 item.Jan null 有问题,就会很清楚。
  • 当 item.Jan 为空时,您的标题表明您有问题。您的问题主体也指向此方向。但是您的原始代码显示您已经处理了 null,所以它必须是当 item 为 null 时。

标签: c#


【解决方案1】:
foreach (var item in accounts.Where(acc => account != null))
{
    if ( item.Jan != null && item.Jan.All(c => char.IsDigit(c)))
    {
        //Do your stuff.
    }
}

应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多