کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش انواع داده ها در سی شارپ

دوره آموزش برنامه نویسی C#

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

آموزش انواع داده ها در سی شارپ

انواع متغییر ها در C# به صورت زیر تقسیم بندی می شوند.

انواع مقدار (Value types)

انواع مرجع (Reference types)

انواع اشاره گر (Pointer types)

متغیر های نوع مقدار می توانند مستقیما به یک مقدار اختصاص داده شوند و از گروه system value type استخراج می شوند. انواع مقدار دارای داده می باشند، برخی از مثال ها عبارتند از int، char، float که اعداد، الفبا و اعداد ممیز شناور را ذخیره می کند. وقتی که شما یک نوع int را اعلام می کنید، سیستم حافظه را به ذخیره ی مقدار اختصاص می دهد.

جدول زیر انواع مقدار موجود در C# 2010 را نشان می دهد.

  

Type

Represents

Range

Default
Value

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 بحث خواهیم کرد.

 

1394/07/27 7279 1772
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...