TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #31 92
🪄 جادوی اعداد در #C :
نوشتن اعداد مثل یک حرفه‌ای (Literals, Suffixes & More)
فکر می‌کنی نوشتن 1000 تو سی‌شارپ همیشه به معنی int هست؟ یا چطور به کامپایلر بفهمونیم منظورمون یه عدد decimalئه نه double؟

اینا جزئیات و "فوت کوزه‌گری" هستن که فرق کدنویس معمولی و حرفه‌ای رو مشخص می‌کنه. بزن بریم این ترفندها رو یاد بگیریم!

👓 خوانایی کد با لیترال‌های حرفه‌ای
نوشتن اعداد، فقط مقدارشون نیست؛ خوانایی هم مهمه!

جداکننده ارقام (_): برای اعداد بزرگ، می‌تونید از آندرلاین برای جدا کردن ارقام و خوانایی بیشتر استفاده کنید. کامپایلر این آندرلاین‌ها رو نادیده می‌گیره.
int bigNumber = 1_000_000; // خیلی خواناتر از 1000000
var binaryData = 0b1010_1011_1100;


مبنای شانزده (Hexadecimal): با پیشوند 0x، می‌تونید اعداد رو در مبنای ۱۶ بنویسید. این برای کار با رنگ‌ها، فلگ‌ها و عملیات سطح پایین خیلی کاربردیه.
int redColor = 0xFF0000;


مبنای دو (Binary): با پیشوند 0b، می‌تونید مستقیماً عدد رو به صورت باینری وارد کنید.
var filePermissions = 0b110_110_100; // rwx-wx--


🏷 پسوندها (Suffixes): تعیین تکلیف برای کامپایلر!
بعضی وقتا کامپایلر خودش نوع عدد رو حدس میزنه (که بهش میگیم Type Inference)، ولی گاهی ما باید حرف آخر رو بزنیم! اینجاست که پسوندها وارد میشن.

مهم‌ترین‌هاشون اینان:
F برای float

اگه این پسوند رو نذارید، کامپایلر عدد اعشاری شما رو double در نظر می‌گیره و کدتون خطا میده چون double به راحتی به float تبدیل نمیشه.
// float f = 4.5; //  ❌ کامپایل نمیشه!
float f = 4.5F; // ✅ درسته!


M برای decimal

این یکی فوق‌العاده مهمه. برای تمام محاسبات مالی و پولی، باید از decimal استفاده کنید و برای مقداردهی بهش، حتماً از پسوند M استفاده کنید.
// decimal balance = 100.99; // ❌ کامپایل نمیشه!
decimal balance = 100.99M; // ✅ درسته!


L برای long و U برای unsigned

این پسوندها کمتر ضروری هستن، چون معمولاً کامپایلر می‌تونه نوعشون رو حدس بزنه یا به صورت خودکار تبدیل کنه. ولی خوبه که بدونید وجود دارن.
long bigNum = 9_000_000_000L; // با L بهش میگیم این یه عدد خیلی بزرگه

❓ شما چطور اعداد رو می‌نویسید؟
اینا فقط یه سری قاعده خشک و خالی نیستن، ابزارهایی برای نوشتن کد دقیق‌تر و خواناتر هستن.

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