English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي C#

دليل متقدم C#

C# منظمات أوبجكت

أنواع الأرقام C# (Number)

عادةً، يمكن تقسيم الأرقام إلى نوعين: النوع الكامل والنوع العددي.

نوع البيانات الكاملةهو عدد صحيح لا يحتوي على نقاط عشرية. يمكن أن يكون سالباً أو إيجابياً.

أنواع الأعداد العشريةهو عدد يحتوي على نقاط عشرية واحدة أو أكثر. يمكن أن يكون سالباً أو إيجابياً.

يقدم C# أنواع بيانات مختلفة للنوع الكامل والنوع العددي بناءً على حجمها وقدرتها على تخزين الأرقام في الذاكرة.

الشكل التالي يوضح أنواع البيانات العددية في C#.

نوع البيانات العددية

نوع البيانات الكاملة

الرقم الكامل هو عدد صحيح يحتوي على نقطة عشرية إيجابية أو سلبية. يشمل C# أربعة أنواع من البيانات الكاملة: byte،short،int،long.

byte

نوع البيانات byte يخزن الأرقام بين 0 و255. يأخذ هذا النوع من البيانات 8 bits في الذاكرة. كلمة المفتاح byte هي اسم بديل للنموذج Byte في.NET.

sbyte هو نفسه byte، ولكنه يمكنه تخزين الأرقام السلبية بين -128 و127. كلمة المفتاح sbyte هي اسم بديل للنموذج SByte في.NET.

byte b1 = 255;
byte b2 = -128; // خطأ في التجميع: القيمة الثابتة “-128” لا يمكن تحويلها إلى “byte”
sbyte sb1 = -128; 
sbyte sb2 = 127; 
Console.WriteLine(Byte.MaxValue);//255
Console.WriteLine(Byte.MinValue);//0
Console.WriteLine(SByte.MaxValue);//127
Console.WriteLine(SByte.MinValue);//-128

short

نوع البيانات short هو عدد صحيح معكوس يمكن تخزين الأرقام بين -32,768 و 32,767. يأخذ هذا النوع 16 بت من الذاكرة. كلمة المفتاح short هي اسم بديل للتركيب Int16 في .NET.

نوع البيانات ushort هو عدد صحيح غير معكوس. يمكنه تخزين الأرقام من 0 إلى 65535 فقط. كلمة المفتاح ushort هي اسم بديل للتركيب UInt16 في .NET.

short s1 = -32768;
short s2 = 32767;
short s3 = 35000; // خطأ في التجميع: القيمة الثابتة “35000” لا يمكن تحويلها إلى “short”
ushort us1 = 65535;
ushort us2 = -32000; // خطأ في التجميع: القيمة الثابتة “-32000” لا يمكن تحويلها إلى “ushort”
Console.WriteLine(Int16.MaxValue);//32767
Console.WriteLine(Int16.MinValue);//-32768
Console.WriteLine(UInt16.MaxValue);//65535
Console.WriteLine(UInt16.MinValue);//0

int

نوع البيانات int هو عدد صحيح معكوس من 32 بت. يمكنه تخزين الأرقام من -2,147,483,648 إلى 2,147,483,647. كلمة المفتاح int هي اسم بديل للتركيب Int32 في .NET.

uint هو عدد صحيح غير معكوس من 32 بت. كلمة المفتاح uint هي اسم بديل للتركيب UInt32 في .NET. يمكنه تخزين الأرقام من 0 إلى 4,294,967,295. (اختياري) استخدم سلفة U أو u بعد الرقم لتخصيصها لمعلمة uint.

int i = -2147483648;
int j = 2147483647;
int k = 4294967295; // خطأ في التجميع: لا يمكن تحويل النوع 'uint' إلى 'int' بشكل تلقائي.
uint ui1 = 4294967295;
uint ui2 = -1; // خطأ في التجميع: لا يمكن تحويل القيمة الثابتة "-1" إلى "uint"
Console.WriteLine(Int32.MaxValue);//2147483647
Console.WriteLine(Int32.MinValue);//-2147483648
Console.WriteLine(UInt32.MaxValue);//4294967295
Console.WriteLine(UInt32.MinValue);//0

يستخدم نوع int أيضًا الأعداد العشرية والثنائية. تبدأ الأعداد العشرية بمحرف 0x أو 0X. من C#7.2، تبدأ الأعداد الثنائية بمحرف 0b أو 0B.

int hex = 0x2F;
int binary = 0b_0010_1111;
Console.WriteLine(hex);
Console.WriteLine(binary);

long

نوع long هو عدد صحيح ذو 64 بت. يمكنه تخزين الأعداد من -9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807. يتم تخصيصه لـ نوع long باستخدام سلسلة الأرقام بعد الرقم m أو M. الكلمة المفتاحية long هي اسم بديل لـ Int64 في.NET.

نوع ulong يخزن الأعداد الإيجابية من 0 إلى 18,446,744,073,709,551,615. إذا كان هناك سلسلة من الأرقام بعد الرقم، فإن نوعها هو ulong. الكلمة المفتاحية uint هي اسم بديل لـ UInt64 في.NET.

long l1 = -9223372036854775808;
long l2 = 9223372036854775807;
ulong ul1 = 18223372036854775808ul;
ulong ul2 = 18223372036854775808UL;
Console.WriteLine(Int64.MaxValue);//9223372036854775807
Console.WriteLine(Int64.MinValue);//-9223372036854775808
Console.WriteLine(UInt64.MaxValue); // 18446744073709551615
Console.WriteLine(UInt64.MinValue); // 0

أنواع الأعداد العشرية

الأعداد العشرية هي أعداد إيجابية أو سلبية تحتوي على نقطتين عشرية واحدة أو أكثر. يشمل C# ثلاثة أنواع من الأعداد العشرية: float، double، وdecimal (float، double، decimal).

float

نوع البيانات float يمكنه تخزين الأعداد الصحيحة من 3.4ee038 إلى 3.4e + 038. يأخذ هذا النوع 4 بايت في الذاكرة. كلمة المفتاح float هو اسم مجرد للبنية Single في .NET.

استخدام الحرف المكتوب f أو F كنهاية يجعله نوع float.

float f1 = 123456.5F;
float f2 = 1.123456f;
Console.WriteLine(f1); // 123456.5
Console.WriteLine(f2); // 1.123456

double

نوع البيانات double يمكنه تخزين الأعداد الصحيحة من 1.7eˆ308 إلى 1.7e + 308. يأخذ هذا النوع 8 بايت في الذاكرة. كلمة المفتاح double هي اسم مجرد للبنية Double في .NET.

استخدام الحرف المكتوب d أو D كنهاية يجعله نوع double.

double d1 = 12345678912345.5d;
double d2 = 1.123456789123456d;
Console.WriteLine(d1); // 12345678912345.5
Console.WriteLine(d2); // 1.123456789123456

decimal

نوع البيانات decimal يمكنه تخزين الأعداد الصحيحة من ±1.0 x 10-28 إلى ±7.9228 x 1028. يأخذ هذا النوع 16 بايت في الذاكرة. decimal هو اسم مجرد للبنية Decimal في .NET.

نوع decimal يملك دقة أعلى ونطاق أصغر من أنواع float وdouble، لذا يناسب الحسابات المالية والنقدية.

استخدام الحرف المكتوب m أو M كنهاية يجعله نوع decimal.

decimal d1 = 123456789123456789123456789.5m;
decimal d2 = 1.1234567891345679123456789123m;
Console.WriteLine(d1);
Console.WriteLine(d2);

العد العلمي

استخدم e أو E لتمثيل قوة 10 كجزء من جزء الأعلى من نظام العد العلمي، واستخدم الأعداد العشرية أو الثنائية أو العشرية الدقيقة.

double d = 0.12e2;
Console.WriteLine(d); //12;
float f = 123.45e-2f;
Console.WriteLine(f); //1.2345
decimal m = 1.2e6m;
Console.WriteLine(m);//1200000