
یکی از مفهومهای اساسی و مفید در سی شارپ، MemoryStream است. این کلاس به شما اجازه میدهد که با دادهها به صورت حافظهای یا "در حافظه" کار کنید، به جای آنکه مستقیماً با فایلها کار کنید. در این مقاله، با زبانی ساده و مثالهای کدنویسی قابل فهم، به بررسی MemoryStream و کاربردهای آن در پروژههای واقعی میپردازیم.
آشنایی با MemoryStream
در سی شارپ، MemoryStream یکی از کلاسهای موجود در کتابخانهٔ System.IO است و به شما این امکان را میدهد که با دادههای باینری در حافظه کار کنید.
using System.IO;
MemoryStream memoryStream = new MemoryStream();
چرا از MemoryStream استفاده میکنیم؟
سرعت:
کار با حافظه اصولاً سریعتر از کار با دیسک است.
انعطافپذیری:
میتوانید به راحتی دادهها را در MemoryStream تغییر دهید.
مثالهای کدنویسی
1. نوشتن در MemoryStream:
byte[] data = new byte[5] {1, 2, 3, 4, 5};
MemoryStream memoryStream = new MemoryStream();
memoryStream.Write(data, 0, data.Length);
2. خواندن از MemoryStream:
memoryStream.Position = 0; // موقعیت را به ابتدای stream میبریم.
byte[] readData = new byte[memoryStream.Length];
memoryStream.Read(readData, 0, (int)memoryStream.Length);
مثالهای کاربردی واقعی
1. تبدیل تصویر به آرایه بایت:
در بسیاری از نرمافزارها، نیاز به ذخیرهسازی یا ارسال تصویر به صورت آرایه بایت وجود دارد.
using System.Drawing;
MemoryStream memoryStream = new MemoryStream();
Image img = Image.FromFile("path_to_image.jpg");
img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = memoryStream.ToArray();
2. ذخیره دادههای موقت:
اگر دادهای را موقتاً نیاز دارید و نمیخواهید آن را در دیسک ذخیره کنید، MemoryStream گزینهٔ مناسبی است.
برای یادگیری حرفهای سی شارپ و فهم بهتر MemoryStream و دیگر مفاهیم پیچیده، پیشنهاد میکنم در دورههای آموزش سی شارپ باگتو شرکت کنید. با تکمیل دانش خود، به سمت برنامهنویسی حرفهای حرکت کنید و علاقهٔ خود را به سمت یادگیری بیشتر جلب کنید.
در پایان می توانید مقاله کار با فایل در سی شارپ را مطالعه فرمایید.
جدیدترین ویدئوهای آموزشی
در بخش TV باگتو، آموزش های کوتاه و جدید را مشاهده نمایید