TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #33 103
💡 نکته سریع #C :
راز عملگرهای حسابی با تایپ‌های کوچک!


همه ما با عملگرهای حسابی مثل + و * آشناییم. ولی آیا می‌دونستید یه نکته‌ی جالب و مهم در موردشون موقع کار با تایپ‌های کوچیکی مثل byte و short وجود داره؟

فرض کنید می‌خواید دو تا byte رو با هم جمع کنید. چه اتفاقی میفته؟
byte b1 = 10;
byte b2 = 20;

// انتظار داریم این کد کار کنه، ولی...
// ❌ این خط کامپایل نمیشه!
byte result = b1 + b2;


چرا خطا میده؟
چون در #C، وقتی عملیات حسابی روی تایپ‌های کوچکتر از int (مثل byte یا short) انجام میشه، اون‌ها اول به صورت خودکار به int تبدیل میشن و حاصل عملیات هم یک int خواهد بود!

بنابراین، کد صحیح این شکلیه:
// ✅ درسته! حاصل جمع دو بایت، یک int است.
int result = b1 + b2;


دلیل این کار چیه؟
این رفتار برای بهینه‌سازی و سادگی در سطح پردازنده و CLR طراحی شده. کار کردن با int (که معمولاً اندازه کلمه پردازنده است) سریع‌تر و بهینه‌تره.

حالا اگه حتماً نتیجه رو تو یه byte می‌خواید چی؟
باید خودتون صراحتاً نتیجه رو کست کنید (و البته حواستون به سرریز شدن یا Overflow باشه!):

// ✅ درسته (با مسئولیت خودتان!)
byte result = (byte)(b1 + b2);

حرف آخر: یادتون باشه، حاصل عملیات حسابی روی تایپ‌های کوچیک، همیشه یه intئه! دونستن همین نکته کوچیک، جلوی خیلی از خطاهای کامپایل ناگهانی رو می‌گیره.

🔖 هشتگ‌ها :
#CSharp
#QuickTip
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 →