我有一个文本块,里面有一些文本。当我将文本块中的字符串转换为流时,stream.size 总是比 textblock.text.length 长,为什么?总是多出 4 个字符。
问问题
68 次
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 回答