TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2296 1.87K
بررسی کامل انواع عددی صحیح (Integral Numeric Types) در زبان سی شارپ

#csharp_for_beginners

در زبان برنامه‌نویسی سی شارپ، انواع داده‌ای عددی صحیح (Integral Numeric Types) برای نمایش اعداد صحیح بدون قسمت اعشاری استفاده می‌شوند. این انواع داده‌ای بخش جدایی‌ناپذیری از عملیات ریاضی، شمارش، محاسبه شاخص آرایه‌ها، و کنترل جریان برنامه هستند. در این مقاله با جزئیات کامل انواع داده‌ای صحیح، ویژگی‌ها، تفاوت‌ها و کاربردهای آن‌ها آشنا خواهیم شد.

دسته‌بندی انواع عددی صحیح
انواع عددی صحیح در سی شارپ به دو دسته اصلی تقسیم می‌شوند:
۱. انواع علامت‌دار (Signed): می‌توانند اعداد منفی و مثبت را نمایش دهند.
۲. انواع بدون علامت (Unsigned): فقط اعداد مثبت و صفر را پشتیبانی می‌کنند.

در جدول زیر، لیستی از انواع داده‌ای صحیح در سی شارپ به همراه ویژگی‌های کلیدی آن‌ها آمده است:

sbyte - 8 بیت
byte - 8 بیت
short - 16 بیت
ushort - 16 بیت
int - 32 بیت
uint - 32 بیت
long - 64 بیت
ulong - 64 بیت
nint - 32 یا 64 بیت (وابسته به معماری)
nuint - 32 یا 64 بیت (وابسته به معماری)


ویژگی‌های عمومی انواع عددی صحیح
تمامی انواع بالا ویژگی‌های مشترک زیر را دارند:
• نوع مقدار (Value Type): برخلاف کلاس‌ها، این نوع‌ها مستقیماً مقدار را نگه‌داری می‌کنند، نه اشاره به آن.
• مقدار پیش‌فرض: برای همه این نوع‌ها مقدار پیش‌فرض برابر صفر (0) است.
• ثابت‌های MinValue و MaxValue: هر نوع دارای دو ثابت برای نمایش کمترین و بیشترین مقدار قابل نگهداری است.
• پشتیبانی از عملیات ریاضی: از جمله +, -, *, /, %، عملیات بیتی مانند &, |, ^, ~، عملیات مقایسه‌ای مثل <, >, ==, !=، و عملیات شیفت <<, >>.

انواع nint و nuint
این دو نوع در نسخه‌های جدید سی شارپ معرفی شده‌اند و برای سناریوهایی مناسب‌اند که اندازه نوع باید متناسب با معماری سیستم (32 یا 64 بیت) باشد، مانند کار با اشاره‌گرها یا توابع سطح پایین سیستم عامل. این نوع‌ها به‌ترتیب معادل با IntPtr و UIntPtr در .NET هستند.

استفاده از لیترال‌های عددی
در سی شارپ می‌توان از لیترال‌ها برای مقداردهی مستقیم استفاده کرد. به‌عنوان مثال:int a = 100;
uint b = 100u;
long c = 100L;
ulong d = 100UL;


تبدیل نوع (Type Conversion)
هنگام تبدیل میان انواع عددی صحیح، باید به موارد زیر توجه کرد:
• تبدیل ضمنی (Implicit): زمانی که داده از نوع کوچکتر به نوع بزرگ‌تر تبدیل می‌شود (مثلاً int به long)، بدون نیاز به دستور خاص.
• تبدیل صریح (Explicit): در حالت معکوس (مثلاً long به int)، به تبدیل صریح یا cast نیاز است و ممکن است دقت از بین برود.
int x = 123;
long y = x; // تبدیل ضمنی

long a = 1000L;
int b = (int)a; // تبدیل صریح



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

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

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

______
Docs Integral numeric types Learn the range, storage size, and uses for each of the integral numeric types.
  • 👍 7
  • ❤ 1
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 →