.ToString() 和 .ToString(CultureInfo.CurrentCulture)

发布于 2025-01-06 00:08:32 字数 319 浏览 1 评论 0原文

例如,我必须在每个数字到字符串的转换中使用 .ToString(CultureInfo.CurrentCulture) 。我可以以某种方式重写 .ToString() 以便我不会再显式收到诸如字符串转换中的区域性之类的消息吗?

例如,现在我必须将 every 更改

myNumValue.Count.ToString();

myNumValue.Count.ToString(CultureInfo.CurrentCulture);

I must use .ToString(CultureInfo.CurrentCulture) in every number to string conversion for example. Can I somehow override .ToString() so that I will get no more messages like culture in string conversion explicitly?

For example, now I have to change every

myNumValue.Count.ToString();

to

myNumValue.Count.ToString(CultureInfo.CurrentCulture);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

音盲 2025-01-13 00:08:32

ToString() 替换为 ToString(CultureInfo.CurrentCulture) 没有任何意义,因为这正是 ToString() 已经做的事情。

如果您没有将定义的区域性(可能通过用户选择)放入代码中,只需坚持第一种方法。

It doesn't make any sense to replace ToString() with ToString(CultureInfo.CurrentCulture) cause this is exactly what ToString() already does.

If you don't put a defined culture (maybe through a user selection) into your code simply stick to the first method.

沒落の蓅哖 2025-01-13 00:08:32

此规则的要点是为每个格式化和解析操作显式选择区域性。如果您尝试系统地交换实现来“欺骗”规则,那么您最终只会将潜在的问题掩盖起来。正如 Lonli-Lokli 所建议的,如果您不喜欢使用区域性参数读取 ToString 调用,您可能需要考虑使用扩展方法,但您应该为您支持的每种区域性提供不同的扩展方法。例如:ToUIString() -> ToString(CultureInfo.CurrentCulture)ToInvariantString() -> ToString(CultureInfo.InvariantCulture)

The point of this rule is to make an explicit choice of culture for every formatting and parsing operation. If you try to systematically swap implementations to "trick" the rule, you'll simply end up sweeping potential problems under the rug. As suggested by Lonli-Lokli, you may want to consider using extension methods if you don't like reading ToString calls with a culture arguments, but you should have a distinct extension method for each culture you support. e.g.: ToUIString() -> ToString(CultureInfo.CurrentCulture) and ToInvariantString() -> ToString(CultureInfo.InvariantCulture)

醉城メ夜风 2025-01-13 00:08:32

如果您指的是来自代码分析的消息,那么您可以禁用特定规则。

If you mean a message from Code Analysis, then you can disable a particular rule.

芸娘子的小脾气 2025-01-13 00:08:32

您可以创建扩展方法 ToStringEx 并使用指定的区域性调用常用方法。

You can create extension method, ToStringEx and call usual method with specified culture.

Saygoodbye 2025-01-13 00:08:32

您可以编写一个 ToStringInvariant 和一个 ToStringCurrent 扩展方法,对每种要转换的类型进行一次重写:int、double、decimal 等。复制和粘贴只需几分钟。
DateTime 最终可以以相同的方式处理。

You could write a ToStringInvariant and a ToStringCurrent extension methods with one override for each type to convert: int, double, decimal, etc. It is a matter of minutes with copy and paste.
DateTime can eventually be handled the same way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文