B. *_*non 4 .net c# arrays foreach stringbuilder
由于我使用的是 .NET 1.1,我不能使用字符串的泛型列表,因为泛型还不是语言的一部分。所以我正在尝试使用 StringBuilder,但得到这个错误消息:
“foreach 语句不能对'System.Text.StringBuilder' 类型的变量进行操作,因为'System.Text.StringBuilder' 不包含'GetEnumerator' 的定义,或者它是不可访问的”
使用此代码:
public StringBuilder linesToSend;
. . .
foreach (string _line in this.linesToSend)
{
serialPort.Write(_line);
}
Run Code Online (Sandbox Code Playgroud)
我的代码有问题吗,或者 StringBuilder 真的不允许 foreach 循环?如果是后者,String[] 是我最好的求助方式吗?
老问题,我知道,但一些可能有用的东西:
如果你的每个字符串都是用 .AppendLine 构建的,或者你插入了一个新行,你可以这样做
string[] delim = { Environment.NewLine, "\n" }; // "\n" added in case you manually appended a newline
string[] lines = StringBuilder.ToString().Split(delim, StringSplitOptions.None);
foreach(string line in lines){
// Do something
}
Run Code Online (Sandbox Code Playgroud)
AStringBuilder不存储您附加的行。它只是用于构建最终的字符串。假设您已经添加了所有内容StringBuilder,您可以执行以下操作:
// Write the complete string to the serialPort
serialPort.Write(linesToSend.ToString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37613 次 |
| 最近记录: |