use*_*222 0 c# string concatenation
// Reads NetworkStream into a byte buffer.
NetworkStream ns;
System.Net.Sockets.TcpClient client = new TcpClient();
byte[] receiveBytes = new byte[client.ReceiveBufferSize];
ns.Read(receiveBytes, 0, (int)client.ReceiveBufferSize);
String returndata = Encoding.UTF8.GetString(receiveBytes);
Run Code Online (Sandbox Code Playgroud)
我成功地从客户端读取并将结果存储到名为returndata的字符串中.但是,当我尝试将returnsndata连接到任何东西时,不会发生连接.例如:String.Concat(returndata,"test")返回returnsndata,returnndata +"test"也是如此.
有谁知道为什么会这样?
编辑:史蒂夫W是正确的; 后来我发现了rewndata.Length总是回归8192.
您是将它分配给字符串还是返回自身?
returndata = string.Concat(returndata, "test");
returndata += "test";
Run Code Online (Sandbox Code Playgroud)
为了扩展jhunter的答案,Concat方法不会改变原始字符串变量的内容,只返回连接结果.如果您希望returnsndata包含连接的结果,则需要使用returndata = string.Concat(returndata, "test")
.
归档时间: |
|
查看次数: |
1785 次 |
最近记录: |