C#中的String.Format没有返回修改后的int值

Ric*_*est 4 c# string-formatting

我想在值中使用逗号分隔符返回一个int值.

12345将被退回12,345

以下代码有效:

int myInt = 1234567;
MessageBox.Show(string.Format("My number is {0}", myInt.ToString("#,#")));
Run Code Online (Sandbox Code Playgroud)

按预期显示12,345.

虽然以下代码不起作用,但从我正在阅读的内容中,应该可以正常工作:

int myInt = 1234567;
MessageBox.Show(string.Format("My number is {0:#,#}", myInt.ToString()));
Run Code Online (Sandbox Code Playgroud)

显示12345.

你能帮我理解为什么第二组代码不起作用吗?

谢谢

Luc*_*ero 10

你不应该ToString在格式之前使用int.试试这个:

MessageBox.Show(string.Format("My number is {0:#,#}", myInt));
Run Code Online (Sandbox Code Playgroud)