TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #38 78
💡 نکته سریع #C :
تفاوت ++x و x++ چیه؟


یکی از سوالای کلاسیک و در عین حال فنی تو مصاحبه‌های سی‌شارپ، تفاوت بین ++x (حالت Postfix) و x++ (حالت Prefix) هست.

هر دوتاشون در نهایت مقدار x رو یکی زیاد می‌کنن، ولی "زمان" این افزایش، زمین تا آسمون با هم فرق می‌کنه و همین می‌تونه رفتار کد شما رو کاملاً عوض کنه.

حالت Postfix (اول بده، بعداً زیاد کن!):++x

در این حالت، اول مقدار فعلی و قدیمی x در عبارت استفاده میشه و بعد از اینکه اون خط تموم شد، مقدار x یکی زیاد میشه.

فکر کنید x یه چک بانکیه. شما اول چک رو با همون مبلغ فعلی به طرف میدین (مقدار رو برمی‌گردونین)، بعد که کارتون تموم شد، تو حساب خودتون یکی بهش اضافه می‌کنید.

مثال:
int x = 5;

// اینجا اول مقدار فعلی x (یعنی 5) چاپ میشه
Console.WriteLine(x++); // خروجی: 5

// حالا که خط بالا تموم شد، x یکی زیاد شده
Console.WriteLine(x); // خروجی: 6


حالت Prefix (اول زیاد کن، بعداً بده!): x++

اینجا برعکسه. اول مقدار x یکی زیاد میشه و بعد، مقدار جدید و افزایش‌یافته در عبارت استفاده میشه.

اینجا شما اول تو حساب خودتون یکی به مبلغ چک اضافه می‌کنید، بعد چک جدید رو با مبلغ افزایش‌یافته به طرف میدین (مقدار جدید رو برمی‌گردونین).

مثال:

int y = 5;

// اینجا اول y یکی زیاد میشه (میشه 6)، بعد مقدار جدیدش چاپ میشه
Console.WriteLine(++y); // خروجی: 6

// y که قبلاً زیاد شده بود، هنوز همون 6 هست
Console.WriteLine(y); // خروجی: 6


حرف آخر:

x++ (Postfix):

اول مقدار فعلی رو برمی‌گردونه، بعد x رو آپدیت می‌کنه.

++x (Prefix):

اول x رو آپدیت می‌کنه، بعد مقدار جدید رو برمی‌گردونه.

دونستن همین نکته کوچیک، به خصوص در حلقه‌ها و محاسبات پیچیده، خیلی به کار میاد و جلوی باگ‌های منطقی رو می‌گیره!

🔖 هشتگ‌ها :
#CSharp
#QuickTip
#DotNet
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
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 →