2010-10-05 8 views
1

Как можно легко записать (и прочитать) строковое форматирование строки в «правильный» эквивалентный код String.Format?C#: Что такое форма String.Format?

Int32 power; 
Single voltage; 
Int32 kVA; 
Double powerFactor; 

powerFactor = power/kVA; 

label1.Text = 
     DateTime.Now.ToString() + ": " + 
     power.ToString() + "W, " + 
     voltage.ToString() + "V "+ 
     "(pf "+(powerFactor*100.0).ToString()+"%)"; 

//label1.Text = String.Format("{g}: {0:g}W, {0:g}V (p.f. {0:0%}%)", 
//  DateTime.Now, power, voltage, powerFactor); 

Я потратил около 10 минут, пытаясь использовать String.Format; лицо, зарегистрировавшее его, должно быть прекращено.

ответ

9
string.Format("{0}: {1}W, {2}V (pf {3}%",DateTime.Now,power,voltage,powerFactor*100) 

Итак, вот что, я думаю, вас смущает. Каждый {0} является индексом объектов, которые вы проходите. {0} - это первый объект, {1} второй и т. Д. Вы также можете указать форматы, ширину и многое другое, чтобы перечислить здесь. Я использую SteveX string ref для большинства моих нужд.

label1.Text = String.Format("{0:g}: {1:g}W, {2:g}V (p.f. {3:0.0%})", 
     DateTime.Now, power, voltage, powerFactor); 
+0

Какой иронически является сайт, который у меня открыт на другой вкладке; никто не имеет примеров с несколькими значениями. Для поиска синтаксиса для нескольких параметров потребовалось довольно много поиска (один сайт дал ему «String.Format» («...», новый Object [] {value1, value2, value3}) ' –

+0

+ amillion - желаю Я мог бы проголосовать за вас пару раз за часто задаваемые вопросы о форматировании стилей SteveX. Там определенно есть вещи, которых я раньше не видел. –

+0

lol Я использую его достаточно, чтобы у меня он был отмечен во всех моих черточках –

Смежные вопросы