0

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

4

1 回答 1

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 的最后两个参数弄乱了。

于 2012-11-29T09:45:51.917 回答