Lebih
Bagaimana anda mendapatkan string dari MemoryStream?
Jika saya diberi MemoryStream
yang saya tahu telah diisi dengan String
, bagaimana saya mendapatkan String
kembali?
505
10
Contoh ini menunjukkan bagaimana untuk membaca dan menulis string ke MemoryStream.
Anda juga dapat menggunakan
Saya don't berpikir ini adalah kurang efisien, tapi aku tidak't bersumpah untuk itu. Hal ini juga memungkinkan anda memilih encoding yang berbeda, sedangkan menggunakan StreamReader anda'd harus ditentukan sebagai parameter.
Menggunakan StreamReader untuk mengkonversi MemoryStream ke String.
gunakan StreamReader, maka anda dapat menggunakan ReadToEnd metode yang mengembalikan sebuah string.
Solusi sebelumnya tidak't bekerja dalam kasus-kasus di mana pengkodean yang terlibat. Berikut ini adalah - jenis "kehidupan nyata" - contoh bagaimana melakukan ini dengan benar...
Dalam hal ini, jika anda benar-benar ingin menggunakan
ReadToEnd
metodeMemoryStream
dengan cara yang mudah, anda dapat menggunakan Ekstensi ini Metode untuk mencapai hal ini:Dan anda dapat menggunakan metode ini dalam cara ini:
Contoh ini menunjukkan bagaimana membaca string dari MemoryStream, di mana saya've digunakan serialisasi (menggunakan DataContractJsonSerializer), lulus string dari server ke client, dan kemudian, bagaimana untuk memulihkan MemoryStream dari string yang dilewatkan sebagai parameter, maka, secara MemoryStream.
I've digunakan bagian-bagian dari tulisan yang berbeda untuk melakukan ini sampel.
Berharap bahwa ini membantu.
Mengapa tidak membuat metode penyuluhan pada MemoryStream jenis?
Tentu saja, berhati-hati ketika menggunakan metode ini dalam hubungannya dengan yang standar. :) ...anda'll perlu menggunakan yang berguna streamLock jika anda melakukannya, untuk concurrency.
Sedikit versi modifikasi dari Brian's jawaban opsional memungkinkan pengelolaan baca mulai, Ini tampaknya menjadi metode yang paling mudah. mungkin bukan yang paling efisien, namun mudah untuk dipahami dan digunakan.