2012-11-29 50 views
0

我有一个文本块,里面有一些文本。当我将文本块中的字符串转换为流时,stream.size总是比textblock.text.length长,为什么?总是有4个字符长。为什么stream.size总是比字符串的长度长

+0

要转换成什么流?请显示您的代码,因为['Stream'](http://msdn.microsoft.com/zh-cn/library/system.io.stream)上不存在'Size'属性。 –

+0

它可以编码数据? – Sisyphe

回答

0

这里是我的测试,并将结果:

在XAML:

<TextBlock x:Name="txtbx" Text="Four" /> 

在C#:

int txt = txtbx.Text.Length; 
long streamLength = 0; 
using (Stream test = new MemoryStream()) 
{ 
    test.Write(txtbx.Text.Select(t => (byte)(int)t).ToArray(), 0, txtbx.Text.Length); 
    streamLength = test.Length; 
} 
// Result: txt = 4 
//  streamLength = 4 

所以我的回答是:要么你有编码问题,要不你发流错了。如果我要猜测的话,你会搞砸Stream.Write的最后两个参数。

相关问题