我有我正在使用的以下stringBuilder作爲Log4net日誌佈局的一部分。如何使用C#正確對齊選項卡式CSV數據文本文件?
var sb = new StringBuilder(DateTime.Now.ToString(DateFormatString, CultureInfo.InvariantCulture));
sb.Append("\t");
sb.Append(log.EventAction);
sb.Append("\t");
sb.Append(log.Id);
sb.Append("\t");
sb.Append(log.MessageId);
sb.Append("\t");
sb.Append(log.CodeBlock);
sb.Append("\t");
sb.Append(log.Details);
我預計\ T(標籤)給我一個準確的黏合作爲deliminator,這樣當視覺檢查文本文件,列將對齊。然而,這種情況並非如此!
列沒有對齊,當我打開MS Word和「顯示特殊字符」中的文本文件時,我看到相同的標籤條目似乎存在,但在記事本中直觀地看,列不對齊。
我真的很困惑,也許我需要審查標籤的定義,任何人都可以提供對此問題的見解或解決方法?
更新:
我已經注意到,如果我有相同長度的字符串,則列對齊,因此,例如:
string1(len5) TAB string2(len5) TAB string3(len5)
string1(len5) TAB string2(len5) TAB string3(len5)
string1(len5) TAB string2(len5) TAB string3(len5)
然而,如果串的長度不同,標籤char是本,但字符串不對齊:
string1(len5) TAB string2(len5) TAB string3(len5)
string1(len10) TAB string2(len5) TAB string3(len5)
string1(len5) TAB string2(len5) TAB string3(len5)
string1(len10) TAB string2(len5) TAB string3(len5)
事情是這樣的......
你是什麼意思「標籤的2個版本」,究竟是什麼? – 2010-09-19 09:00:11
嗨,馬克,我更新了這個問題。 – 2010-09-19 09:02:38