gpt4 book ai didi

c# - 为什么 ReSharper 在未明确指定 CultureInfo 时会在 Char.ToString() 处发出警告?

转载 作者:太空狗 更新时间:2023-10-29 18:31:18 25 4
gpt4 key购买 nike

我想知道为什么 ReSharper 会在我尝试将 char 转换为字符串而不提供特定文化信息时警告我。

有没有可能在两个系统上进行不同转换的情况?

示例:

var str = ' '.ToString();

默认情况下会弹出以下 ReSharper 警告:

Specify a culture in string conversion explicitly.

最佳答案

这是因为 ReSharper 发现该类型实现了 IConvertible,它具有 ToString(IFormatProvider)

System.Char 本身不会公开具有该签名的公共(public)方法,即使 documentation表示确实如此:

Char.ToString overloads

如果您查看带有 IFormatProvider 参数的重载,您将看到以下通知:

Implements
IConvertible.ToString(IFormatProvider)

还有这句话:

The provider parameter is ignored; it does not participate in this operation.

ReSharper 只是注意到该方法的存在,以及在没有 IFormatProvider 的情况下对 ToString 的调用,因此会发出提示,在这种情况下,您可以安全地忽略它。

关于c# - 为什么 ReSharper 在未明确指定 CultureInfo 时会在 Char.ToString() 处发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34717064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com