PDA

View Full Version : سوال: convert byte[] to any array



mehdi_csharp
پنج شنبه 30 دی 1389, 11:31 صبح
من چطور میتونم ui را به list<int> تبدیل کنم؟؟


List<int> b;=new List<int>();
MemoryStream c = new MemoryStream();
BinaryFormatter g=new BinaryFormatter();
g.Serialize(c,b);

byte[] ui= c.ToArray(); //mikham ui ro dobare be aaray b tabdil konam??

mehdi.mousavi
پنج شنبه 30 دی 1389, 11:45 صبح
سلام.
به این شکل:


byte[] ui = c.ToArray();
using (MemoryStream ms = new MemoryStream(ui))
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
List<int> originalList = (List<int>)binaryFormatter.Deserialize(ms);
}


موفق باشید.

mehdi_csharp
پنج شنبه 30 دی 1389, 12:31 عصر
این cast چطوری انجام میشه؟برام گنگه؟

mehdi.mousavi
پنج شنبه 30 دی 1389, 12:49 عصر
این cast چطوری انجام میشه؟برام گنگه؟

Deserialize کردن یک Object، همون Object رو با همون Data Type ای که Serialize شده بود، بهتون برمیگردونه، اما از اونجاییکه Derserialize بصورت Template تعریف نشده، نمیتونه دقیقا همون Object رو برگردونه. در نتیجه، شی بازگشتی که از نوع List<int> هستش (در مثال شما) باید به List<int> کست بشه و ...