İçeriğe geç

ObjectToByteArray & ByteArrayToObject

Projelerimizde bir list yapısını byte dizisine çevirmek isteyeceğimiz durumlar olabilir veya bunun tam tersi olan bir byte dizisini bizim belirleyeceğimiz bir liste tipine dönüştürme işlemini gerçekleştirmek isteyebiliriz(tabi bu durumda dönüştürmek isteyeceğimiz tip Serializable olmak zorundadır.)

İlgili tipimizi byte dizisine dönüştürmek için veya bunun tam tersi durum için hazırlayacağımız kodlama aşağıdaki gibi olmalıdır.

        public static byte[] ObjectToByteArray<T>(this List<T> obj) where T : class, new()
        {
            var bf = new BinaryFormatter();
            var ms = new MemoryStream();
            bf.Serialize(ms, obj);
            return ms.ToArray();
        }

        public static List<T> ByteArrayToObject<T>(this byte[] _ByteArray) where T : class, new()
        {
            MemoryStream _MemoryStream = new MemoryStream(_ByteArray);
            BinaryFormatter _BinaryFormatter = new BinaryFormatter();
            _MemoryStream.Position = 0;
            return _BinaryFormatter.Deserialize(_MemoryStream) as List<T>;
        }

Buradaki metotları kullanarak küçük bir örnek hazırlayabiliriz. Elimizde Book tipinden bir nesnemiz olsun ve bir byte dizisinden Book listesi elde etmeye çalışalım ve bunu consol ekranına yazdıralım.

Örneğe ait ilgili proje dosyasına şu linkten erişebilirsiniz.

Tarih:C#

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.