C# C System.NullException将null转换为空或无值
当使用以下方法时,在某些用例中,其中一个参数(例如RC_2 datetime)可能传递空值。我需要将空值转换为空值或字符串值,以便将其传递给下面的stringbuilder,这是我当前使用的C# C System.NullException将null转换为空或无值,c#,C#,当使用以下方法时,在某些用例中,其中一个参数(例如RC_2 datetime)可能传递空值。我需要将空值转换为空值或字符串值,以便将其传递给下面的stringbuilder,这是我当前使用的 public static string CHG_FixDatetime(string RC_1, string RC_2, string seperator) { var sb = new StringBuilder(); sb.Append(RC_1);
public static string CHG_FixDatetime(string RC_1, string RC_2, string seperator)
{
var sb = new StringBuilder();
sb.Append(RC_1);
sb.Append(RC_2);
sb.Append(seperator);
DateTime dt;
if (!string.IsNullorWhiteSpace(RC_2))
sb.append(RC_2)
else
{
sb.Append(Convert.ToString(RC_2));
}
return sb.ToString();
}
我尝试了多种配置和变体,但无法通过当RC_2值为Null时引发的System.NullException。感谢您的帮助 尝试以下解决方案
RC_2 = String.IsNullOrWhiteSpace(RC_2) ? "" : RC_2;
哪一部分或哪一行抛出错误?为什么要将RC_2转换为字符串?它已经是一个字符串了。此外,DateTime dt从不使用。错误实际发生在哪里?@John3136,但不会导致NullException。如果附加的值为null,则不会对StringBuilder实例进行任何更改。没有例外。整个if/else可以由sb.AppendRC_2;-如果RC_2为null或空白,则不会引发异常。