8
ストリームを文字列に変換して戻す…何が欠けているのですか?
オブジェクトを文字列にシリアル化したい。 protobuf-netを使用して、オブジェクトをストリームに変換し、正常に戻します。 ただし、文字列にストリーミングして戻る...それほど成功していません。StreamToStringおよびを通過したStringToStream後、新しいものStreamはprotobuf-netによってデシリアライズされません。Arithmetic Operation resulted in an Overflow例外が発生します。元のストリームを逆シリアル化する場合、それは機能します。 私たちの方法: public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { return reader.ReadToEnd(); } } public static Stream StringToStream(string src) { byte[] byteArray = Encoding.UTF8.GetBytes(src); return new MemoryStream(byteArray); } これら2つを使用したコード例: MemoryStream stream = new MemoryStream(); …