ash*_*010 10 c# string-concatenation
为什么不抛出异常不明白,obj为null
object obj = null;
Console.WriteLine("Hello World " + obj);
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 21
这编译成
Console.WriteLine(String.Concat("Hello World ", obj));
Run Code Online (Sandbox Code Playgroud)
该String.Concat方法忽略null参数.
它的定义如下:(来自.Net参考源)
public static String Concat(Object arg0, Object arg1) {
if (arg0==null) {
arg0 = String.Empty;
}
if (arg1==null) {
arg1 = String.Empty;
}
return Concat(arg0.ToString(), arg1.ToString());
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不是简单地返回arg1.ToString()如果arg0==null.
该String.Concat(string, string)方法定义如下:
public static String Concat(String str0, String str1) {
if (IsNullOrEmpty(str0)) {
if (IsNullOrEmpty(str1)) {
return String.Empty;
}
return str1;
}
if (IsNullOrEmpty(str1)) {
return str0;
}
int str0Length = str0.Length;
String result = FastAllocateString(str0Length + str1.Length);
FillStringChecked(result, 0, str0);
FillStringChecked(result, str0Length, str1);
return result;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |