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