c# - 在 C# 中进行类型转换的更好方法

标签 c# resharper

案例一:我们可以通过以下方式转换类型......

  1. 第一种方式

        int someInt = 10;
        double someDouble = (double) someInt;
    
  2. 第二种方式相同

        int someInt = 10;
        double someDouble = Convert.ToDouble(someInt);
    

Case 2:我们可以通过以下方式将somethings转化为string......

  1. 第一种方式

        int someInt = 10;
        string someString =  someInt.ToString();
    
  2. 第二种方式

        int someInt = 10;
        string someString =  someInt.ToString(CultureInfo.InvariantCulture);
    

现在我的问题是哪个好??我问这个问题是因为对于这两种情况,ReSharper 总是给我建议,例如第二种方式。我不知道我应该跟随哪一个。

最佳答案

  1. 情况 1 - 两种方式相同,第一种方式稍快一些。
  2. 案例 2 - 第一种方法可能很危险,因为 int.ToString() 使用 Culture.CurrentCulture 作为参数(因此结果可能因计算机而异到计算机):

如:

someInt.ToString() == someInt.ToString(CultureInfo.CurrentCulture);

关于c# - 在 C# 中进行类型转换的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141547/

相关文章:

c# - object - 最顶层的基类如何获得方法。 [扩展方法]

vb.net - 如何在vs2010宏中使用“ReSharper.ReSharper_SilentCleanupCode”?

c# - ReSharper 7 自动完成在键入 "No suggestions"后错误地显示 "this."

c# SELECT 与 FOR JSON

c# - 我如何在 Apple Verify 上找到 REST 文档以及为什么/verifyReceipt 不起作用?

c# - Rabin-Karp 字符串搜索算法中使用的滚动哈希函数是否有任何有效的实现?

c# - 从通用平面获取轴对齐坐标

api - ReSharper API...呃...它在哪里?

c# - Enum.ToString() 已弃用?

visual-studio - 如何在 VS 2010 中默认停止文件夹作为命名空间提供程序?