例如,值为10的int总是会转换为“10”,不是吗?是不是可以自己定义这样的转换?
编辑:我要求的是:int i = 10;
Blah(i);
public void Blah(string param)
{
...
}
答案 0 :(得分:4)
C#是一种强类型语言。像你问are not implicit那样的转换。阅读:http://msdn.microsoft.com/en-us/library/ms173104.aspx
答案 1 :(得分:1)
int i = 10;
s = i.ToString();
你到底在问什么?
答案 2 :(得分:1)
您可以使用Int32.ToString()
将int转换为字符串(通过显式调用方法或通过与其他字符串连接隐式)。
然后,您可以使用Int32.Parse()
答案 3 :(得分:1)
当int
或任何其他object
必须隐式转换为字符串时,ToString()
会被调用。
您可以使用您自己的Culture
对象或数字格式字符串显式调用它,从而控制转换。
答案 4 :(得分:0)
这是因为C#被设计为强类型语言。强类型具有一系列优点,主要与编译器可以捕获许多类型相关的错误相关,这些错误将成为弱类型语言中的运行时错误。您可以在Wikipedia: Strong typing中阅读更多内容。