ToString的默认数字格式

fer*_*ero 7 .net c# cultureinfo number-formatting

是否可以定义一个默认数字格式,每当我将integer(或double等)转换为a String而不指定格式字符串时使用该格式?

C#示例:

int i = 123456;

string s = "Hello " + i;
// or alternatively with string.Format without format definition
string s = string.Format("Hello {0}", i);
Run Code Online (Sandbox Code Playgroud)

ASP.NET Razor示例:

<div>
    Hello @i
</div>
Run Code Online (Sandbox Code Playgroud)

我认为所有这些代码行都隐式使用默认ToString()方法Int32.毫不奇怪,所有这些代码行都会产生"Hello 123456",但我想要"Hello 123,456".

那么我可以指定"N0"默认情况下应该使用它(至少是integer)吗?

我已经找到了问题Set Default DateTime Format c# - 它看起来不错,但它对数字没有帮助.


编辑:我知道我可以编写一个扩展方法,我可以在整个应用程序中使用,但这不是我正在寻找的.我想找到一个属性(也许某处隐藏在CultureInfoNumberFormatInfo这是目前设定为)"G",并使用默认的Int32.ToString()实现.