Программа на C #, с tostring () или нет, что лучше - PullRequest
3 голосов
/ 10 августа 2011

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 голосов
/ 10 августа 2011

Вместо этого используйте формат строки:

string strM = string.Format("{0:00}", Month);

Тест:

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

Для получения дополнительных советов по формату строки проверьте this .

1 голос
/ 10 августа 2011

Лучший способ - использовать .tostring, но не так, как показано.

    using System;
    class example {
        static void Main(string[] args) {
            int Month =5;
            Console.WriteLine(Month.ToString("00"));
        }
    }

http://ideone.com/LCwca

Выходы: 05

0 голосов
/ 10 августа 2011

Что касается вашего вопроса, другая часть, нет никакой разницы, только ясность (стиль) кода.Какой использовать это до вас.Если вы хотите сделать акцент на том, что Month не является string, тогда вы можете добавить .ToString().Если это очевидно, как с if ( Month < 10 ), так что вы можете увидеть на одну строку выше сравнение с int, следовательно, Month определенно не string, вы можете опустить .ToString() вызов, так как это будет сделано автоматически.1009 *

...