مشخصات مقاله
-
1772
-
0.0
-
7279
-
0
-
0
آموزش انواع داده ها در سی شارپ
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش انواع داده ها در سی شارپ
انواع متغییر ها در C# به صورت زیر تقسیم بندی می شوند.
انواع مقدار (Value types)
انواع مرجع (Reference types)
انواع اشاره گر (Pointer types)
متغیر های نوع مقدار می توانند مستقیما به یک مقدار اختصاص داده شوند و از گروه system value type استخراج می شوند. انواع مقدار دارای داده می باشند، برخی از مثال ها عبارتند از int، char، float که اعداد، الفبا و اعداد ممیز شناور را ذخیره می کند. وقتی که شما یک نوع int را اعلام می کنید، سیستم حافظه را به ذخیره ی مقدار اختصاص می دهد.
جدول زیر انواع مقدار موجود در C# 2010 را نشان می دهد.
|
Type |
Represents |
Range |
Default |
|
bool |
Boolean value |
True or False |
False |
|
byte |
8-bit unsigned integer |
0 to 255 |
0 |
|
char |
16-bit Unicode character |
U +0000 to U +ffff |
'\0' |
|
decimal |
128-bit precise decimal values with 28-29 significant digits |
(-7.9 x 1028 to 7.9 x 1028) / 100 to 28 |
0.0M |
|
double |
64-bit double-precision floating point type |
(+/-)5.0 x 10-324 to (+/-)1.7 x 10308 |
0.0D |
|
float |
32-bit single-precision floating point type |
-3.4 x 1038 to + 3.4 x 1038 |
0.0F |
|
int |
32-bit signed integer type |
-2,147,483,648 to 2,147,483,647 |
0 |
|
long |
64-bit signed integer type |
-923,372,036,854,775,808 to 9,223,372,036,854,775,807 |
0L |
|
sbyte |
8-bit signed integer type |
-128 to 127 |
0 |
|
short |
16-bit signed integer type |
-32,768 to 32,767 |
0 |
|
uint |
32-bit unsigned integer type |
0 to 4,294,967,295 |
0 |
|
ulong |
64-bit unsigned integer type |
0 to 18,446,744,073,709,551,615 |
0 |
|
ushort |
16-bit unsigned integer type |
0 to 65,535 |
0 |
برای گرفتن اندازه ی دقیق یک نوع یا متغیر روی یک پلت فرم خاص می توانید از روش sizeof استفاده کنید. عبارت sizeof مقدار ذخیره سازی آبجکت یا نوع را به بایت انجام می دهد. در زیر مثالی است برای گرفتن اندازه ی نوع int روی هر دستگاه.
namespace DataTypeApplication
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Size of int: {0}", sizeof(int));
Console.ReadLine();
}
}
}
}
وقتی برنامه ی بالا کامپایل شده و اجرا شود، نتیجه زیر را به دنبال دارد.
Size of int:4
انواع مرجع (reference types)
انواع مرجع دارای داده ی واقعی ذخیره شده در یک متغیر نیستند، بلکه دارای یک مرجع برای متغیرها می باشند.
به عبارت دیگر به موقعیت حافظه اشاره دارند. با استفاده از بیشتر از یک متغیر انواع مرجع می توانند به موقعیت حافظه اشاره کنند. اگر داده ای در حافظه به وسیله ی یکی از متغیرها تغییر کند، متغیر دیگر به طور خودکار این تغییر را در مقدار منعکس می کند. مثال برای انواع مرجع built in عبارتند از: object، dynamic، و string.
نوع آبجکت
نوع آبجکت گروه پایه ی نهایی برای همه ی دیتا تایپس در C# Common Type System (CTS)، می باشد. آبجکت برای گروه system object یک نام ساختگی می باشد، بنابراین آبجکت تایپس می توانند به مقادیر انواع دیگر از جمله انواع مقدار، انواع مرجع، انواع از پیش تعریف شده و تعریف شده توسط کاربر اختصاص داده شوند. به هرحال قبل از اختصاص دادن مقادیر تبدیل نوع لازم می باشد.
وقتی که یک نوع مقدار به یک نوع آبجکت تبدیل می شود، این فرایند boxing نامیده می شود و برعکس اگر یک نوع آبجکت به نوع مقدار تبدیل شود، unboxing نامیده می شود.
object obj;
obj = 100; // this is boxing
نوع پویا
شما می توانید هر نوع کقدار ار در متغیر نوع داده ی پویا ذخیره کنید. چک کردن انواع این متغیرها در زمان اجرا اتفاق می افتد.
ترکیب برای اعلام یک نوع پویا به شکل زیر می باشد.
dynamic = value;
به عنوان مثال
dynamic d = 20;
انواع پویا شبیه انواع آبجکت می باشند، به جز اینکه چک کردن نوع برای متغیرهای نوع آبجکت در زمان کامپایل اتفاق می افتد که همنطور که ذکر شد برای متغیرهای نوع پویا در زمان اجرا اتفاق می افتد.
نوع استرینگ (string type)
نوع استرینگ به شما اجازه می دهد تا هر مقدار استرینگ را به یک متغیراختصاص دهید. نوع استرینگ برای گروه System String یک نام ساختگی محسوب می شود و از نوع آبجکت استخراج می شود. مقدار برای نوع آبجکت می تواند با استفاده از رشته ی لیترال در دو فرم اختصاص داده شود: quoted و @quoted
برای مثال
String str = "Tahlildadeh";
یک رشته ی لیترال @quoted به این شکل به نظر می رسد.
@"Tahlildadeh";
انواع مرجع تعریف شده توسط کاربر عبارتند از: گروه، اینترفیس یا نماینده.
انواع اشاره گر
متغیرهای نوع اشاره گر آدرس حافظه ی نوع دیگر را ذخیره می کنند. اشاره گرها در C# همان قابلیت ها را دارند که در C و C++ دارا هستند.
ترکیب برای اعلام یک نوع اشاره گر عبارت است از
type* identifier;
برای مثال
char* cptr;
int* iptr;
در مورد انواع اشاره گر در فصل Unsafe codes بحث خواهیم کرد.