由于某种原因,BeginReceive的字节数组输出先填充null,然后填充数据。

BeginReceive:

AsyncResult = connectSocket.BeginReceive(RecvBuffer2,
                                          0, RecvBuffer2.Length,
                                          SocketFlags.None,
                                          OnDataRecvCallback, null);


字节数组声明:

public static byte[] RecvBuffer2 = new byte[9999];


如何删除空值并保留其余数据?

最佳答案

应该可以在LINQ上使用。未经测试,因为我现在没有Visual Studio,但是应该是这样的:

var usefulBuffer = RecvBuffer2.SkipWhile(x => x == 0).ToArray()

10-08 14:13