C#程序,使用tostring()还是不使用,哪个更好?

3

一个C#程序,您可以看到,var month被定义为int类型。有人说,不使用.tostring()更好,因为这样可以避免冗余的调用。现在代码如下所示:str = "0" + Month;但是我认为这种写法不好。哪种写法更好?为什么?谢谢!(ps:这是我在stackoverflow上的第一个问题)

string strM = string.Empty;
if ( Month < 10 )
    strM = "0" + Month.ToString ( );
    //strM = "0" + Month; which is better?
3个回答

8
请使用字符串格式化代替:
string strM = string.Format("{0:00}", Month);

测试:

Month: 1 => strM: "01"
Month: 12 => strM: "12"

更多字符串格式化技巧请查看这里


谢谢你,不过我认为 Month.ToString("00") 更好,它不需要调用字符串类。 - SleeplessKnight

1
最好的方法是使用 .tostring,但不要像所示那样。
    using System;
    class example {
        static void Main(string[] args) {
            int Month =5;
            Console.WriteLine(Month.ToString("00"));
        }
    }

http://ideone.com/LCwca

输出:05


0
关于你提出的问题的另一部分,没有区别,只有代码的清晰度(风格)。使用哪种取决于你。如果你想强调Month不是一个string,那么可以添加.ToString()。如果这是显而易见的,比如if ( Month < 10 ),所以你可以看到与int的比较在上面一行,因此Month绝对不是一个string,你可以省略.ToString()调用,因为它会自动完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接