写入特定位置的文本文件?

bal*_*569 1 c#

如何在一个特定的位置写一个文件,而不是像" "我这样写空间.我正在写一个文件,我得到的输出就像是

TIMESTAMP              'ATRS_ACCT_TIMESTAMP',
OU_ID              'ATRS_ACCT_OU_ID',
COMPANY_CODE              'ATRS_ACCT_COMPANY_CODE',
BU_ID              'ATRS_ACCT_BU_ID',
Run Code Online (Sandbox Code Playgroud)

但我需要像这样的输出

TIMESTAMP          'ATRS_ACCT_TIMESTAMP',
OU_ID              'ATRS_ACCT_OU_ID',
COMPANY_CODE       'ATRS_ACCT_COMPANY_CODE',
BU_ID              'ATRS_ACCT_BU_ID',
Run Code Online (Sandbox Code Playgroud)

这是我的代码

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() + "'" + ",");
}
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

Jef*_*ado 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);
Run Code Online (Sandbox Code Playgroud)


小智 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();
Run Code Online (Sandbox Code Playgroud)

说明:

这将文本定位在左对齐位置0-15之间:

{0,-15} =第一个字符串[txt],1 =文本,-15 =字符串允许的字符数, - =左对齐

这将文本定位在右对齐位置16-26之间:

{1,10} =第二个字符串[txt2],1 =文本,10 =字符串允许的字符数,右对齐

这将文本定位在左对齐的位置27-37之间:

{2,-10} =第三个字符串[txt3],2 =文字,-10 =字符串允许的字符数量, - =左对齐