C# 是否可以从NetworkStream中删除空字符字符(0),而不进行编码?

C# 是否可以从NetworkStream中删除空字符字符(0),而不进行编码?,c#,.net,vb.net,xml-deserialization,networkstream,C#,.net,Vb.net,Xml Deserialization,Networkstream,我有一个反序列化器函数,它以NetworkStream类型获取输入,并反序列化它,然后作为预定义的对象类型(预定义对象)返回 我想做的是,在发送ns变量(networkStream)进行反序列化之前,我想从中删除空字符。 请看下面: Dim ns As NetworkStream Dim myPreDefinedObj As PreDefinedObj ns = getSomething(stringXML)'This function returns NetworkStream type

我有一个反序列化器函数,它以NetworkStream类型获取输入,并反序列化它,然后作为预定义的对象类型(预定义对象)返回

我想做的是,在发送ns变量(networkStream)进行反序列化之前,我想从中删除空字符。 请看下面:

Dim ns As NetworkStream

Dim myPreDefinedObj As PreDefinedObj

ns = getSomething(stringXML)'This function returns NetworkStream type response' 
'The response value (in NetworkStream type) come from  the server that I do not have an access to server to fix the return value to not include the null characters.'

myPreDefinedObj = Deserializer(ns)

Return myPreDefinedObj 
希望问题清楚

我正在寻找一种方法,将其编码为字符串。我可以使用
[Byte]()
对其进行编码,但在从字符串中删除空字符后,我不确定如何将其重新回滚到NetworkStream类型

可以从NetworkStream类型的变量中删除空字符吗?如果是的话,那怎么做呢

注意:另外,我使用的是vb.net,但也会提供C#建议

谢谢

编辑:我想提供有关
getSomething()函数的更多信息

Public Shared Function getSomething(ByVal stringXML As String) As NetworkStream

Try
    Dim tcpClient As New System.Net.Sockets.TcpClient() 
    Dim requestedURL As String = "xxx.xxx.x.x" 
    Dim portNumber As String = "xxxx"

    tcpClient.Connect(requestedURL, portNumber )

    Dim networkStream As NetworkStream = tcpClient.GetStream()

    If networkStream.CanWrite And networkStream.CanRead Then

        Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(stringXML)

        networkStream.Write(sendBytes, 0, sendBytes.Length)
        'I would like to know If I can remove null characters before return networkStream'        
        Return networkStream
     Else
         tcpClient.Close() 
     End If
Catch e As Exception
     'do something'    
Throw e
End Try

   Throw New Exception("No value returned")

End Function

为什么一开始就有坏数据?我会努力找出并解决问题的原因,而不是症状。@JonSkeet:我百分之百同意你的看法,但我希望我有机会做到这一点。数据来自我无权修复返回值的服务器。谢谢你的建议。但是它是怎么进来的呢?我会感到紧张的是,它的错误远远不止是额外的“0字节”。例如,我认为有必要调查您是否丢失了合法数据。@JonSkeet:不幸的是,我不知道为什么响应值返回“0字节”,但我唯一确定的是,我必须尽快处理这个问题:(我想知道这是否是一种情况。您得到了什么错误?流长度是否与预期长度匹配?
Public Shared Function getSomething(ByVal stringXML As String) As NetworkStream

Try
    Dim tcpClient As New System.Net.Sockets.TcpClient() 
    Dim requestedURL As String = "xxx.xxx.x.x" 
    Dim portNumber As String = "xxxx"

    tcpClient.Connect(requestedURL, portNumber )

    Dim networkStream As NetworkStream = tcpClient.GetStream()

    If networkStream.CanWrite And networkStream.CanRead Then

        Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(stringXML)

        networkStream.Write(sendBytes, 0, sendBytes.Length)
        'I would like to know If I can remove null characters before return networkStream'        
        Return networkStream
     Else
         tcpClient.Close() 
     End If
Catch e As Exception
     'do something'    
Throw e
End Try

   Throw New Exception("No value returned")

End Function