-1

例如,值为 10 的 int 将始终转换为“10”,不是吗?难道不能自己定义这样的转换吗?

编辑:我要的是:

int i = 10;
Blah(i);

public void Blah(string param)
{
...
}
4

5 回答 5

4

C# 是一种强类型语言。像您所询问的转换不是隐式的。阅读:http: //msdn.microsoft.com/en-us/library/ms173104.aspx

于 2012-12-10T15:10:32.733 回答
1
int i = 10;
s = i.ToString();

你到底在问什么?

于 2012-12-10T15:08:33.990 回答
1

Int32.ToString()您可以使用(通过显式调用该方法或通过与另一个字符串连接隐式)将 int 转换为字符串。

然后,您可以使用将字符串解析回 intInt32.Parse()

于 2012-12-10T15:09:13.707 回答
1

当 anint或任何其他object必须隐式转换为字符串时,ToString()在后台调用。

您可以显式调用它,从而使用您自己的Culture对象或数字格式字符串来控制转换。

标准数字格式字符串

于 2012-12-10T15:09:35.060 回答
0

那是因为 C# 已被设计为一种强类型语言。强类型有一系列优点,主要是因为编译器可以捕获许多类型相关的错误,这些错误在弱类型语言中会变成运行时错误。您可以在Wikipedia:Strong typing中阅读更多内容。

于 2012-12-10T15:12:42.277 回答