【问题标题】:How to avoid exception when padding on an empty string填充空字符串时如何避免异常
【发布时间】:2018-05-27 19:50:04
【问题描述】:

假设myString 是一个空的string 变量

当我尝试myString.PadLeft(4, '0') ;

最终,它会生成一个null reference exception,因为我试图在一个空对象上调用填充

但是,如果字符串为空,除了这种“经典方式”之外,是否有一种方法可以在填充选项中用 4 个零填充它:!string.IsNullOrEmpty(myString)?myString.PadLeft(4, '0'):"0000";

【问题讨论】:

  • myString?.PadLeft(4, '0') ?? "0000"
  • 如果myString 为空,则不会出现该异常。如果是null,你就会明白。
  • @juharr 所以如果我的猜测是正确的,只是初始化字符串可能是一种补救措施?
  • @NotADeveloper 你能把它写成答案,以便我们关闭它吗?
  • 避免异常的方法是在使用之前验证您的输入。因此,在您的情况下,请先检查 null 。

标签: c# string padding


【解决方案1】:

您可以使用null-conditionalnull-coalescing 运算符。

myString = myString?.PadLeft(4,'0') ?? "0000";

【讨论】:

    【解决方案2】:

    在填充之前,您必须确保 myString 不为空。最干净的方法是像这样使用Null-coalescing Operator

    (myString ?? "").PadLeft(4, '0');
    

    【讨论】:

      【解决方案3】:

      您可以尝试使用 null-coalescing 运算符

      (myString??"").PadLeft(4, '0')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 2011-10-01
        • 1970-01-01
        • 2015-12-11
        • 2018-02-21
        • 2015-04-05
        • 1970-01-01
        相关资源
        最近更新 更多