所以基本上我正在用c#开发一个网络程序,并且试图使用流阅读器将字符串从服务器发送到客户端,但是我遇到了一个非常奇怪的问题。当我使用此代码时...

[服务器端]

foreach (DataRow row in StocksTable.Rows)
            {
                stocks += row["description"] + "," + row["buy"] + "," + row["sell"] + ",";
            }


[客户]

textBox3.Text = streamReader.ReadLine();


...可以,但是只返回第一行。当我用“;”更改“ \ n”时例如,将所有内容都放在一行上,客户端就会崩溃。

我尝试使用迭代器来打印所有行,但效果不佳。

我知道这听起来很有趣,并且可能有一些简单的解释,但是我对此坚持了一段时间,对此我感到困惑。

编辑:

我尝试迭代,这件事起作用:

for (int i = 0; i < 5; i++)
            {
                textBox3.Text += streamReader.ReadLine();
            }


(5是字符串中的行数)

但这不是:

while (true)
            {
                string s = streamReader.ReadLine();
                if (s != null)
                {
                    textBox3.Text += s;
                }
                else
                {
                    break;
                }
            }

最佳答案

我将假设stocks是一个字符串。一个字符串可以包含许多行(定义为由CR,LF或CRLF分隔的字符串的行)。在这种情况下,您似乎正在使用\n在字符串中创建多行。那里为:

textBox3.Text = streamReader.ReadLine();


将读取流中的第一行。

10-07 21:35