C#字符串长度错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#字符串长度错误相关的知识,希望对你有一定的参考价值。

我想从套接字读取数据。

结果的值与套接字发送的数据相同。

但我打印调试信息,结果长度非常大,而不是我看到的字符串长度。

长度与mySockeet.SendBufferSize相同。

如何更改代码以使结果变量的长度正确。

public string readSocket() {
    String result = "";
    if(theStream == null)
       return "";
    if (theStream.DataAvailable) {
      Byte[] inStream = new Byte[mySocket.SendBufferSize];
      theStream.Read(inStream, 0, inStream.Length);
      result = System.Text.Encoding.UTF8.GetString(inStream);
      Debug.Log(result.Length + " "+ mySocket.SendBufferSize);
    }
    return result;
}
答案

我已经解决了,请改为以下内容

int length = theStream.Read(inStream, 0, inStream.Length);
result = System.Text.Encoding.UTF8.GetString(inStream, 0, length);

以上是关于C#字符串长度错误的主要内容,如果未能解决你的问题,请参考以下文章

第2题——DNA片段

将 JavaScript 字符串拆分为固定长度的片段

JavaScript 代码片段

C语言怎么计算字符长度?

JavaScript实用功能代码片段

动态 Rstudio 代码片段