我正在转换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");
答案 0 :(得分:2)
问题的回答“我有一个循环,虽然它只将第一个字符添加到字符串中,其余的只是空格。如何将所有数据添加到字符串中?”是:
您添加到字符串的第二个字符是Strings.Chr(0),它是字符串终止符。当C#(或VB.Net)触及此字符时,它会停止读取字符串。