Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何避免填充空字符串时出现异常_C#_String_Padding - Fatal编程技术网

C# 如何避免填充空字符串时出现异常

C# 如何避免填充空字符串时出现异常,c#,string,padding,C#,String,Padding,让我们想象一下myString是一个空的string变量 当我尝试myString.PadLeft(4,'0') 最后,当我试图调用空对象上的填充时,它将生成一个空引用异常 但是,如果字符串为空,是否有一种方法可以在填充选项中用4 0填充它,而不是使用这种“经典方法”:!IsNullOrEmpty(myString)?myString.PadLeft(4,'0'):“0000”您可以使用空合并运算符来尝试此操作 (myString??"").PadLeft(4, '0') 您可以使用null合

让我们想象一下
myString
是一个空的
string
变量

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

最后,当我试图调用空对象上的填充时,它将生成一个
空引用异常


但是,如果字符串为空,是否有一种方法可以在填充选项中用4 0填充它,而不是使用这种“经典方法”:
!IsNullOrEmpty(myString)?myString.PadLeft(4,'0'):“0000”

您可以使用空合并运算符来尝试此操作

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

您可以使用null合并运算符来尝试此操作

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

在填充之前,必须确保
myString
不为null。最干净的方法是这样使用:


在填充之前,必须确保
myString
不为null。最干净的方法是这样使用:

可以使用和运算符

myString = myString?.PadLeft(4,'0') ?? "0000";
可以使用和运算符

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

myString?.PadLeft(4,'0')??“0000”
如果
myString
为空,则不会得到该异常。如果它是
null
@juharr,那么如果我的猜测是正确的,那么初始化字符串可能是一种补救措施?@NotADeveloper你能把它作为一个答案来写,这样我们就可以关闭它吗?避免异常的方法是在使用它之前验证你的输入。因此,在您的示例中,请在之前检查null。
myString?.PadLeft(4,'0')??“0000”
如果
myString
为空,则不会得到该异常。如果它是
null
@juharr,那么如果我的猜测是正确的,那么初始化字符串可能是一种补救措施?@NotADeveloper你能把它作为一个答案来写,这样我们就可以关闭它吗?避免异常的方法是在使用它之前验证你的输入。因此,在您的情况下,请在之前检查null。