我前段时间已经看到了这种形式,但我不记得它被称为什么,因此不知道如何实现这样的事情:
SomeMoneyFormat f = "€ 5,00";
Run Code Online (Sandbox Code Playgroud)
其中调用一些可以将字符串解析为SomeMoneyFormat对象的重载函数.
Osk*_*lin 14
当你没有指定它应该被强制转换它是一个 implicit cast
public static implicit operator SomeMoneyFormat(string d)
{
return new SomeMoneyFormat(d);
}
Run Code Online (Sandbox Code Playgroud)
然后€ 5,00作为字符串传递d
更多关于这里:http: //msdn.microsoft.com/en-us/library/z5z9kes2(VS.71).aspx
另外,我可以补充说,只有在没有丢失数据的风险时才应该这样做.例如转换double到int会失去一些精度,所以它是一个explicit cast.否则很容易被意外抛弃并丢失数据.