在C#中使用StringBuilder创建字符串

时间:2016-02-26 13:17:11

标签: c# vb.net stringbuilder

我正在转换VB应用程序。我正在尝试使用StringBuilder创建一个字符串,因为我无法使用Mid函数更改字符串。我有一个循环,虽然它只添加第一个字符到字符串,其余只是空格。如何将所有数据添加到字符串?

下面是代码段;谢谢你的帮助

        int table = 0;
        string tableData = Strings.StrDup(253, " ");
        int i = 0;
        string listData = null;
        int pointer =0;
        StringBuilder sb = new StringBuilder(tableData);
        sb.Insert(0, Strings.StrDup(253, Strings.Chr(32)));
        sb.Insert(0, typeOfTable + Strings.Chr(0));


        pointer = 2;
        for (i = 0; i <= lstTABLE.Items.Count -1; i++)
        {
            listData = lstTABLE.Items[i].ToString();
            table = Convert.ToInt32(-(Conversion.Val(listData) * 10));
            sb.Insert(pointer, Functions.FNCodeTwoChar(table));
            pointer +=2;
        }

        sb.Insert (202,Functions.EncodeKP(Convert.ToSingle(Conversion.Val(lblStartTable.Text))));
        sb.Insert(205,Functions.EncodeKP(Convert.ToSingle(Conversion.Val(lblEndTable.Text))));
        sb.Insert(208, Strings.Space(36)); 
        sb.Insert(244, "   0");
        sb.Insert(248, "   0");

1 个答案:

答案 0 :(得分:2)

问题的回答“我有一个循环,虽然它只将第一个字符添加到字符串中,其余的只是空格。如何将所有数据添加到字符串中?”是:

您添加到字符串的第二个字符是Strings.Chr(0),它是字符串终止符。当C#(或VB.Net)触及此字符时,它会停止读取字符串。