string str1 = "abc";
string str2 = "def";方法1: string str3 = str1+str2;
方法2: string str3 = string.Format("{0}{1}",str1,str2);
是不是方法2的效率高于方法1么?
string str2 = "def";方法1: string str3 = str1+str2;
方法2: string str3 = string.Format("{0}{1}",str1,str2);
是不是方法2的效率高于方法1么?
不过
string str1 = "abc";
string str2 = "def";
StringBuilder str3 = new StringBuilder();
str3.Append(str1);
str3.Append(str2);
肯定比以上两个方法快
{
if ((format == null) || (args == null))
{
throw new ArgumentNullException((format == null) ? "format" : "args");
}
StringBuilder builder = new StringBuilder(format.Length + (args.Length * 8));
builder.AppendFormat(provider, format, args);
return builder.ToString();
}
这是 reflector的 system.string 的Format 静态方法
可以看出,Format方法试用了StringBuilder类。我想知道String类对 '+'运算符的重载要从哪里看?
我绝对不是胡扯,我是考虑了一下才敢写的
不过自己确实水平有限,如果有写的不对的地方请指出来,大家一起学习嘛。