کلمه کلیدی ushort نشان دهنده نوع داده عددی صحیحی است که مقادیر را طبق شرایط زیر ذخیره می کند:
لیترال ها
شما می توانید یک متغیر ushort را بصورت زیر اعلان و مقداردهی اولیه کنید:
در اعلان بالا، لیترال صحیح 65535 بطور ضمنی از int به ushort تبدیل می شود. اگر لیترال عددی صحیح از محدوده ushort تجاوز کند، یک خطای کامپایل رخ می دهد.
در هنگام فراخوانی متدهای overload شده باید از عملگر قالبریز (cast) استفاده کرد. برای مثال متدهای overload شده زیر را که دارای پارامترهای ushort و int هستند را در نظر بگیرید:
کلمه کلیدی ulong نشاندهنده یک نوع صحیح است که مقادیر را طبق شرایط زیر ذخیره می کند.
لیترال
شما می توانید متغیرهای ulong را بصورت زیر اعلان و مقداردهی اولیه کنید.
وقتی یک لیترال عددی صحیح دارای هیچ پسوندی نباشد، نوع آن یکی از نوع هایی است که مقدار آن لیترال توانایی قرار گرفتن در آن را داشته باشد: int ، uint ، long ، ulong در مثال بالا، این نوع ulong است.
شما همچنین می توانید برطبق قوانین زیر برای تعیین نوع لیترال از از پسوندها استفاده کنید:
کلمه کلیدی uint نشاندهنده یک نوع صحیح است که مقادیر را طبق شرایط زیر ذخیره می کند.
نکته
نوع uint با مشخصات زبان مشترک (CLS) سازگار نیست. تاجایی که امکان دارد از نوع int استفاده کنید. (یعنی ممکن است برنامه شما درصورت استفاده از نوع uint در پلتفرم های دیگری که از CLS پشتیبانی می کنند با مشکل مواجه شود)
لیترال ها
شما می توانید متغیرهای uint را بصورت زیر اعلان و مقداردهی اولیه کنید.
وقتی یک لیترال عددی صحیح دارای هیچ پسوندی نباشد، نوع آن یکی از نوع هایی است که مقدار آن لیترال توانایی قرار گرفتن در آن را داشته باشد: int ، uint ، long ، ulong در این مثال، این نوع uint است:
جدول زیر تبدیلات عددی ضمنی از پیش تعریف شده را نشان می دهد. تبدیلات ضمنی ممکن است در بسیاری مواقع ، از جمله فراخوانی متد و بیان های انتساب ، اتفاق بیافتد.
از | به |
sbyte | short, int, long, float, double, یا decimal |
byte | short, ushort, int, uint, long, ulong, float, double, یا decimal |
short | int, long, float, double, یا decimal |
ushort | int, uint, long, ulong, float, double, یا decimal |
int | long, float, double, یا decimal |
uint | long, ulong, float, double, یا decimal |
long | float, double, یا decimal |
char | ushort, int, uint, long, ulong, float, double, یا decimal |
float | double |
ulong | float, double, یا decimal |
ملاحظات
کلیدواژه decimal به یک نوع داده ای 128-بیتی اشاره دارد. در مقایسه با نوع های ممیز-شناور، نوع decimal دقت بیشتر و محدوده کمتری دارد، که آنرا برای محاسبات مالی و پولی مناسب کرده است.
محدوده تقریبی و دقت نوع decimal در زیر آمده است:
(-7.9 x 1028 to 7.9 x 1028) / (100 to 28)
لیترال ها
اگر شما می خواهید یک لیترال عددی حقیقی داشته باشید که با آن مانند decimal رفتار شود، از پسوند m یا M استفاده کنید، برای مثال:
decimal myMoney = 300.5m;
بدون پسوند m ، با عدد مانند double رفتار شده و تولید یک خطای کامپایل می نماید.
کلمه کلیدی char برای اعلان کاراکتر یونیکد (Unicode) که محدوده آن در زیر آمده استفاده می شود. کاراکترهای یونیکد، کاراکترهایی 16-بیتی هستند که برای نمایش اکثر زبان های نوشتاری شناخته شده در دنیا مورد استفاده قرار می گیرند.
لیترال ها:
ثابت های از نوع char می توانند بصورت لیترال های کاراکتری، توالی گریز شانزده شانزدهی (Hexadecimal escape swquence)، یا نماینده یونیکد، نوشته شوند. شما همچنین می توانید کد های کاراکتری صحیح را قالب ریزی (cast) کنید. در مثال زیر چهار متغیر char با کاراکتر X ، مقداردهی اولیه شده اند:
کلمه کلیدی long ، نوع داده ای صحیحی را مشخص می کند که مقادیر وابسته به اندازه و محدودیت نشان داده شده زیر را ذخیره می کند:
عملگر as برای انجام انواع خاصی از تبدیلات بین نوع های مرجع سازگار استفاده می شود. برای مثال:
class csrefKeywordsOperators { class Base { public override string ToString() { return "Base"; } } class Derived : Base { } class Program { static void Main() { Derived d = new Derived(); Base b = d as Base; if (b != null) { Console.WriteLine(b.ToString()); } } } }
ملاحظات:
چک می کند که آیا یک شئ با یک نوع داده شده سازگار است یا نه. برای مثال، کد زیر می تواند تعیین کند که آیا یک شئ، یک نمونه از نوع MyObject است، یا یک نوع است که از MyObject مشتق شده:
if (obj is MyObject) { }