Как выровнять колонки в string.Format?
var str1 = string.Format("<b>{0}</b> {1,7} | <b>{2,-10}</b> {3,-5} | <b>{4}</b> {5,-5} | <b>{6}</b> {7,-5} | <b>{8}</b> {9,-5}", "T_IN_max,°C", t_in_max, "T_OUT_max,°C", t_out_max, "P_IN_max,bar", p_in_max, "P_OUT_max,bar", p_out_max, "P_SBR_max,bar", p_sbr_max);
var str2 = string.Format("<b>{0}</b> {1,7} | <b>{2,-10}</b> {3,-5} | <b>{4}</b> {5,-5} | <b>{6}</b> {7,-5} | <b>{8}</b> {9,-5}", "T_IN_min,°C", t_in_min, "T_OUT_min,°C", t_out_min, "P_IN_min,bar", p_in_min, "P_OUT_min,bar", p_out_min, "P_SBR_min,bar",p_sbr_min);
Хочу чтобы строки были выровнены по разделителю |
В отладчике я вижу такую строку

Но когда копирую - все ровно. Подскажите почему в отладчике съезжает текст?
<b>T_IN_max,°C</b> 46,8 | <b>T_OUT_max,°C</b> 46,1 | <b>P_IN_max,bar</b> 5,2 | <b>P_OUT_max,bar</b> 1,9 | <b>P_SBR_max,bar</b> 1,9
<b>T_IN_min,°C</b> 31 | <b>T_OUT_min,°C</b> 31,5 | <b>P_IN_min,bar</b> 1 | <b>P_OUT_min,bar</b> 0,5 | <b>P_SBR_min,bar</b> 1,9
Ответы (1 шт):
Если хочешь добиться результата на столько костыльным способом не смотря ни на что, то я советую использовать моноширинный шрифт в месте, где используется эта таблице. Это самый простой способ сделать и так как ты хочешь и что бы колонки были ровными.
Дальше задача сводится до того что бы измерять количество символов в каждой ячейке и растянуть соответствующе другие ячейки в колонке до этого же количества символов.
На практике у тебя все уже выровняно вручную. Но плывет все просто потому, что текстбокс имеет не моноширинный шрифт, в отличии от отладчика EvgeniyZ.... ну или в отличии от твоей консоли.
Заменяй шрифт твоего поля на моноширинный и будет тебе счастье.
Но вообще это извращение и используй нормальные теги таблицы, если уж это хтмл)