我有一个语句,其中以下列方式分配字符串:
for (int i = 0; i < x; i++)
{
Foo.MyStringProperty = "Bar_" + i.ToString();
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
是否有任何之间的性能差异i.ToString()或只是简单的i,因为两者都只是转换了(文化不变?)等效字符串?
我很清楚的存在String.Concat(),String.Format,StringBuilder,等,但对于这种情况下的缘故,让我们假设我才可以使用+串联.
提前致谢.
我正在学习用C#编写自定义类型转换,我有一个问题,我无法通过Google/MSDN /早期发布的SO项目解决.
通常,缩小数字类型的C#程序通过未经检查的显式转换来执行此操作,例如:
int i = 256;
byte b = (byte)i; // b == 0
Run Code Online (Sandbox Code Playgroud)
但是,以下将给出溢出异常:
byte b = checked((byte)i);
Run Code Online (Sandbox Code Playgroud)
我的问题如下:在自定义类型转换中可实现的checked/unchecked关键字的行为,例如:
class Foo {
public static explicit operator int(Foo bar) {
if (checked)
throw someEception
else
return some Foo to int conversion
}
}
Run Code Online (Sandbox Code Playgroud)
当然,上面的代码不是答案,但有人知道这样的事情是否可行?