0

テキストブロックがあり、その中にテキストがあります。textblockの文字列をstreamに変換すると、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の最後の2つの引数を台無しにしました。

于 2012-11-29T09:45:51.917 に答える