TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2302 1.71K
پشته (Stack)
#csharp_for_beginners

در برنامه‌نویسی، ساختار داده‌ای پشته (Stack) یکی از رایج‌ترین و کاربردی‌ترین ساختارها برای مدیریت داده‌ها به ‌شمار می‌رود. پشته بر اساس اصل LIFO (آخرین ورودی، اولین خروجی) عمل می‌کند. در چارچوب دات‌نت، کلاس Stack در فضای نام System.Collections برای این منظور طراحی شده است

معرفی کلاس Stack
کلاس Stack (نسخهٔ غیرجنریک) در فضای نام System.Collections قرار دارد و می‌تواند انواع مختلف داده‌ها (حتی null) را در خود نگه دارد. این کلاس با استفاده از نوع object، امکان ذخیرهٔ هر نوع داده‌ای را فراهم می‌کند

متدها و ویژگی‌های اصلی
در این بخش مهم‌ترین متدها و خواص کلاس Stack را بررسی می‌کنیم:

۱. Push(object obj)
افزودن یک عنصر به بالای پشته:

Stack stack = new Stack();
stack.Push("سلام");
stack.Push(123);
stack.Push(null);


۲. Pop()

حذف و بازگرداندن عنصر بالای پشته:

object top = stack.Pop(); // آخرین مقدار افزوده‌شده را برمی‌گرداند


۳. Peek()

فقط مشاهدهٔ عنصر بالای پشته بدون حذف آن:

object top = stack.Peek();


۴. Count

تعداد عناصر موجود در پشته:

int count = stack.Count;


۵. Clear()

پاک‌سازی کامل پشته:

stack.Clear();


۶. Contains(object obj)

بررسی وجود یک عنصر خاص:

bool hasHello = stack.Contains("سلام");


نمونه‌کد کامل:
Stack myStack = new Stack();
myStack.Push("Hello");
myStack.Push("World");
myStack.Push(null);

Console.WriteLine($"تعداد: {myStack.Count}");

while (myStack.Count > 0)
Console.WriteLine(myStack.Pop());


خروجی:

تعداد: 3
null
World
Hello



🔗 مطلب کامل را در این لینک می‌توانید مطالعه کنید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

کانال تلگرام:
@SoftwarePhilosophy

______
Docs Stack Class (System.Collections) Represents a simple last-in-first-out (LIFO) non-generic collection of objects.
  • 👍 9
  • ❤ 7
  • 👏 2
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →