تالار گفتگوی کیش تک/ kishtech forum
سوال ۳ زبان برنامه نویسی #C - نسخه‌ی قابل چاپ

+- تالار گفتگوی کیش تک/ kishtech forum (http://forum.kishtech.ir)
+-- انجمن: پردیس فناوری کیش (http://forum.kishtech.ir/forumdisplay.php?fid=1)
+--- انجمن: دانشگاه جامع علمی و کاربردی (http://forum.kishtech.ir/forumdisplay.php?fid=7)
+---- انجمن: **مرکز علمی و کاربردی کوشا** (http://forum.kishtech.ir/forumdisplay.php?fid=42)
+----- انجمن: برنامه سازی تحت وب - پنجشنبه ها از ساعت 8 تا 11 (http://forum.kishtech.ir/forumdisplay.php?fid=347)
+----- موضوع: سوال ۳ زبان برنامه نویسی #C (/showthread.php?tid=115530)



سوال ۳ زبان برنامه نویسی #C - Mohammadamin - 25-05-2025

3. یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند چیست؟


RE: سوال ۳ زبان برنامه نویسی #C - Vahid Rohollahi - 26-05-2025

یکی از **ویژگی‌های اصلی** زبان **C#** که به **مدیریت حافظه** کمک می‌کند، ****سیستم جمع‌آوری زباله (Garbage Collection - GC)** است. 

### **چگونه Garbage Collection در C# کار می‌کند؟**
1. **تخصیص خودکار حافظه:** 
  - وقتی یک شیء (object) در C# ساخته می‌شود، حافظه به‌صورت خودکار در **هیپ مدیریت‌شده (Managed Heap)** تخصیص می‌یابد. 

2. **شناسایی اشیاء بی‌استفاده:** 
  - **GC** به‌صورت دوره‌ای اجرا می‌شود و اشیایی که **دیگر مورد ارجاع نیستند** (یعنی هیچ Reference فعالی به آن‌ها وجود ندارد) را شناسایی می‌کند. 

3. **آزادسازی حافظه:** 
  - حافظهٔ اشیاء بی‌استفاده را آزاد می‌کند و فضای هیپ را بهینه‌سازی می‌نماید. 

4. **جلوگیری از نشت حافظه (Memory Leak):** 
  - با این مکانیسم، نیاز به آزادسازی دستی حافظه (مثل `delete` در ++C) از بین می‌رود و احتمال خطاهای انسانی کاهش می‌یابد. 

### **مزایای Garbage Collection در C#:**
✅ کاهش خطاهای مدیریت حافظه دستی 
✅ بهبود امنیت و پایداری برنامه 
✅ افزایش بهره‌وری توسعه‌دهنده 

### **نکات تکمیلی:**
- در موارد خاص (مثل کار با منابع غیرمدیریت‌شده مانند فایل‌ها یا اتصالات شبکه)، می‌توان از **`IDisposable`** و **`using`** برای آزادسازی بهینه‌تر منابع استفاده کرد. 
- **GC** در **پلتفرم .NET** به‌صورت بهینه‌سازی شده کار می‌کند و نسخه‌های جدید (مثل .NET 8) بهبودهای عملکردی قابل توجهی داشته‌اند. 

اگر به دنبال **مدیریت حرفه‌ای‌تر حافظه** هستید، می‌توانید از **WeakReference** یا **Memory Management API** در .NET نیز استفاده کنید. 

✌️ به‌طور خلاصه، **Garbage Collection** یکی از قوی‌ترین مکانیزم‌های C# برای مدیریت خودکار حافظه است که توسعه برنامه‌های ایمن و پایدار را تسهیل می‌کند.


RE: سوال ۳ زبان برنامه نویسی #C - o.karvandi - 26-05-2025

(25-05-2025, 02:09 PM)Mohammadamin نوشته است: 3. یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند چیست؟

یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند، سیستم جمع‌آوری زباله (Garbage Collection - GC) است.


RE: سوال ۳ زبان برنامه نویسی #C - علی رحیمی - 26-05-2025

یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند، سیستم Garbage Collection یا جمع‌آوری خودکار زباله است؛ این سیستم به‌طور خودکار حافظه اشیایی که دیگر استفاده نمی‌شوند را آزاد می‌کند و نیازی به مدیریت دستی حافظه توسط برنامه‌نویس نیست. 
این باعث میشه برنامه‌نویسی راحت‌تر و خطاهای مربوط به نشت حافظه خیلی کمتر بشه


RE: سوال ۳ زبان برنامه نویسی #C - Majid haghi - 28-05-2025

دانشگاه علمی کاربردی کوشا رشته فناوری اطلاعات و ارتباطات استاد رمضانی دانشجو مجید حقی
یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند، سیستم جمع‌آوری زباله (Garbage Collection - GC


RE: سوال ۳ زبان برنامه نویسی #C - davarzani - 28-05-2025

(25-05-2025, 02:09 PM)Mohammadamin نوشته است: 3. یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند چیست؟

پاسخ 
**ویژگی اصلی C# برای مدیریت حافظه
✅ **سیستم **Garbage Collection (GC)

- **به‌صورت خودکار** حافظهٔ استفاده‌نشده را آزاد می‌کند.  
- از **Memory Leak** جلوگیری می‌کند.  
- نیاز به مدیریت دستی حافظه (مثل ++C) را کاهش می‌دهد.  

داورزنی


RE: سوال ۳ زبان برنامه نویسی #C - morteza azizi - 01-06-2025

یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند، سیستم جمع‌آوری زباله (Garbage Collection - GC) است.


RE: سوال ۳ زبان برنامه نویسی #C - Hooman homapour - 02-06-2025

یکی از ویژگی‌های اصلی زبان C# که به مدیریت حافظه کمک می‌کند، سیستم جمع‌آوری زباله (Garbage Collection - GC) است.