如何在特定位置写入文件而不是像" "
那样给出空间。这里我写的文件,我得到的输出就像
TIMESTAMP 'ATRS_ACCT_TIMESTAMP',
OU_ID 'ATRS_ACCT_OU_ID',
COMPANY_CODE 'ATRS_ACCT_COMPANY_CODE',
BU_ID 'ATRS_ACCT_BU_ID',
但我需要这样的输出
TIMESTAMP 'ATRS_ACCT_TIMESTAMP',
OU_ID 'ATRS_ACCT_OU_ID',
COMPANY_CODE 'ATRS_ACCT_COMPANY_CODE',
BU_ID 'ATRS_ACCT_BU_ID',
这是我的代码
string[] ss = new string[tblSchema.Rows.Count];
for (int i = 0; i < tblSchema.Rows.Count; i++)
{
ss[i] = (tblSchema.Rows[i]["ColumnName"].ToString());
dest.WriteLine(ss[i].ToUpper() + " " +
"'" + textBox2.Text + ss[i].ToUpper() + "'" + ",");
}
有什么建议吗?
答案 0 :(得分:6)
使用String.Format()
并指定字段的字段长度。像这样:
var line = String.Format("{0,-20} '{1}{0}',", ss[i].ToUpper(), textBox2.Text);
// "{0,-20}" - Print the first item using a minimum of 20 characters left aligned
dest.WriteLine(line);
答案 1 :(得分:5)
也许这有助于理解:
string txt = "Hello World";
string txt2 = "Test";
string txt3 = "Let's go";
string line = String.Format("{0,-15} {1,-10} {2,10}", txt, txt2, txt3);
Console.WriteLine(line);
Console.ReadLine();
的说明:强> 的
这将文本定位在0-15左对齐的位置:
{0,-15} =第一个字符串[txt],1 =文字,-15 =字符串允许的字符数, - =左对齐
这将文本定位在16-26位右对齐:
之间{1,10} =第二个字符串[txt2],1 =文本,10 =字符串允许的字符数,右对齐
这将文本定位在左对齐的位置27-37之间:
{2,-10} =第三个字符串[txt3],2 =文字,-10 =字符串允许的字符数量, - =左对齐
答案 2 :(得分:0)
您希望在编写字符串之前填充字符串。这将给出正确的空格数。请参阅本教程:http://www.java2s.com/Code/CSharp/Language-Basics/Trimmingandpadding.htm
答案 3 :(得分:0)
使用“\ t”而不是“” - 它会插入标签而不是空格。
编辑: 我的坏,没注意到你在迭代表名。 这很麻烦,但你可以根据最大的表名和当前的表名使用不同数量的\ t \ t