Professional Documents
Culture Documents
identifiers
اﻟﻣُﻌرﻓﺎت ھﻲ أﺳﻣﺎء ﻟﻠدﻻﻟﺔ أو اﻹﺷﺎرة ﺟزء ﻣن اﻟﺑرﻧﺎﻣﺞ ،ﻓﺎﻟﺑرﻧﺎﻣﺞ ﯾﺗﻛون ﻣن ﻣﺟﻣوﻋﺔ ﻣﺧﺗﻠﻔﺔ ﻣن اﻟﻣﻛوﻧﺎت ﻣﺛل
اﻟدوال واﻟﻔﺋﺎت واﻟﻣﺗﻐﯾرات واﻟﻣﻛﺗﺑﺎت أو اﻟﻔﺿﺎءات) ، (namespacesوﻛل ﻣن ھذه ﯾﺣﺗﺎج إﻟﻰ ﻣُﻌرف ﻟﻠﺗﻌﺎﻣل
ﻣﻌﮫ.
اﻟﻤُﻌﺮﻓﺎت
ﻋﻧد اﻹﻋﻼن ﻋن ھذه اﻟﻣُﻌرﻓﺎت ﯾﺟب أن ﻧﻠﺗزم ﺑﻣﺟﻣوﻋﺔ ﻣن ﻗواﻋد اﻟﺗﺳﻣﯾﺔ ﻓﻲ ﻟﻐﺔ C#وھﻲ:
ﯾﺟب أن ﻻ ﯾﻛون أﺣد اﻟﻛﻠﻣﺎت اﻟﻣﺣﺟوزة ﻓﻲ ﻟﻐﺔ C#و اﻟﻣوﺿﺣﺔ ﻓﻲ اﻟﺟدول اﻟﺗﺎﻟﻲ. ●
ﯾﺟب أن ﺗﺳﺗﺧدم ﻓﻘط اﻟﺣروف اﻹﻧﺟﻠﯾزﯾﺔ ) a–zو (A–Zﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ اﻷرﻗﺎم واﻟرﻣز ‘_’ ﻓﻘط. ●
ﯾﺟب أن ﻻ ﯾﺑدأ اﻻﺳم ﺑرﻗم. ●
ﺟﺪول اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﻓﻲ ﻟﻐﺔ C#
اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﺑﻌﺾ اﻷﻣﺜﻠﺔ اﻟﺼﺤﯿﺤﺔ واﻟﺨﺎطﺌﺔ ﻷﺳﻤﺎء اﻟﻤُﻌﺮﻓﺎت ﻓﻲ ﻟﻐﺔ .C#
ﺗﻨﻮﯾﮫ
اﻟﻣﻌرﻓﺎت ﺣﺳﺎﺳﺔ ﻟﺣﺎﻟﺔ اﻷﺣرف ،ﺑﻣﻌﻧﻰ أن Ahmedﻟﯾﺳت ﻛـ AHMEDﻟﯾﺳت ﻛـ ، ahmedإذ ﺗﻌﺗﺑرھم ﻟﻐﺔ
C#ﻣﺳﻣﯾﺎت ﻣﺧﺗﻠﻔﺔ ﻋن ﺑﻌﺿﮭﺎ اﻟﺑﻌض.
ﺑﻌﺾ اﻟﻨﺼﺎﺋﺢ ﻟﻜﯿﻔﯿﺔ ﻛﺘﺎﺑﺔ أﺳﻤﺎء اﻟﻤُﻌﺮﻓﺎت
ﻋﻧد اﺧﺗﯾﺎرك ﻻﺳﻣﺎء اﻟﻣُﻌرﻓﺎت ،ﯾﻧﺑﻐﻲ ﻋﻠﯾك إﺗﺑﺎع ﻣﺟﻣوﻋﺔ ﻣن اﻟﻣﻌﺎﯾﯾر ﻣن أﺟل ﻋدم اﻟوﻗوع ﻓﻲ اﻟﺗﺑﺎس ﻣﻌﯾن أﺛﻧﺎء
ﻋﻣﻠﯾﺔ اﻟﺑرﻣﺟﺔ ،وھذه اﻟﻣﻌﺎﯾﯾر ھﻲ:
ﯾﺟب أن ﯾﻛون اﺳم اﻟﻣُﻌرف ذات ﻣﻌﻧﻰ وذات دﻻﻟﺔ ،ﻣﺛﻼ ﻻ ﻧﺳﻣﻰ اﻟﻣﺗﻐﯾر اﻟﺧﺎص ﺑﻌﻣر اﻟطﺎﻟب ﺑـ aaaوإﻧﻣﺎ ●
ﻧﺳﻣﯾﮫ .age
ﻻ ﺗﻘم ﺑﺗﺳﻣﯾﺔ ﻣُﻌرﻓﯾن ﺑﻧﻔس اﻻﺳم ﻣﻊ اﺧﺗﻼف ﺣﺎﻟﺔ اﻷﺣرف ،ﻷﻧﮫ ﻣن اﻟﺳﮭوﻟﺔ اﻟوﻗوع ﻓﻲ ﻟﺑس ﺑﯾﻧﮭﻣﺎ أﺛﻧﺎء ●
اﻟﺑرﻣﺟﺔ .ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟﻣﺗﻐﯾر Ageو .age
داﺋﻣﺎ ً اﺑدأ اﺳﻣﺎء اﻟﻣﺗﻐﯾرات ﺑﺣرف ﺻﻐﯾر ،وﺑﺎﻗﻲ اﻟﻣُﻌرﻓﺎت )ﻛﺎﻟدوال واﻟﻔﺋﺎت( ﺑﺣرف ﻛﺑﯾر. ●
اﻟﻣُﻌرﻓﺎت اﻟﺗﻲ ﺗﺣﺗوي ﻋﻠﻰ أﻛﺛر ﻣن ﻛﻠﻣﺔ ،اﻛﺗب اﻟﺣرف اﻷول ﻣن ﻛل ﻛﻠﻣﺔ ﺑﺣرف ﻛﺑﯾر ،وﻓﻲ ﺣﺎﻟﺔ اﻟﻣﺗﻐﯾرات ●
ﺗﻛﺗب اﻟﻛﻠﻣﺔ اﻷوﻟﻰ ﺑﺣرف ﺻﻐﯾر ،ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎلmyFirstName :
ﻛﯿﻒ ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﺎﺳﺐ؟
ﻣﺛﻼ إذا ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت ﻋﺑﺎرة ﻋن ﺳﻼﺳل ﻧﺻﯾﺔ ﻓﺈن أﻓﺿل ﻧوع ﺑﯾﺎﻧﺎت ھو string ●
أﻣﺎ اذا ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت ﻋﺑﺎرة ﻋن ﺣرف واﺣد ﻓﻘط ﻓﺈن أﻓﺿل ﻧوع ﺑﯾﺎﻧﺎت ھو .char ●
ﻛﯿﻒ ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﺎﺳﺐ؟
ﻣﺎذا ﻟو ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت ارﻗﺎم ﺻﺣﯾﺣﺔ؟
ﻟدﯾﻧﺎ 8أﻧواع ﺑﯾﺎﻧﺎت ﻟﻠﺗﻌﺑﯾر ﻋن اﻷرﻗﺎم ﺻﺣﯾﺣﺔ ،ﻓﺄي ﻣﻧﮭﺎ ﺳﯾﻛون ھو اﻻﺧﺗﯾﺎر اﻟﻣﻧﺎﺳب. ★
ﻛﯿﻒ ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﺎﺳﺐ؟
ﯾﻌﺗﻣد اﺧﺗﯾﺎرﻧﺎ ﻟﻧوع اﻟﺑﯾﺎﻧﺎت اﻟﻣﻧﺎﺳب ﻋﻠﻰ ﻣﻌرﻓﺔ ﺣﺟم اﻟﺑﯾﺎﻧﺎت اﻟﻣراد ﺗﺧزﯾﻧﮫ وﻓﻲ ﺣﺎﻟﺔ ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت
رﻗﻣﯾﺔ ،ﯾﺗوﺟب ﻋﻠﯾﻧﺎ ﻣﻌرﻓﺔ اﻟﺣد اﻷدﻧﻰ واﻟﺣد اﻷﻗﺻﻰ ﻟﻠﺑﯾﺎﻧﺎت اﻟرﻗﻣﯾﺔ اﻟﺗﻲ ﻧﺗﻌﺎﻣل ﻣﻌﮭﺎ.
ﻓﺈذا ﻛﺎﻧت ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل أرﻗﺎم ﺻﺣﯾﺣﺔ ﻣوﺟﺑﺔ اﻟﺣد اﻷدﻧﻰ ﻟﮭﺎ ھو ﺻﻔر واﻟﺣد اﻷﻗﺻﻰ ھو 255ﻓﺈن أﻓﺿل ●
ﻧوع ﺑﯾﺎﻧﺎت ھو .byte
ﺑﯾﻧﻣﺎ اذا ﻛﺎن اﻟﺣد اﻷدﻧﻰ -128واﻟﺣد اﻷﻗﺻﻰ 127ﻓﺈن اﻓﺿل ﻧوع ﺑﯾﺎﻧﺎت ھو .sbyte ●
ﻛﯿﻒ ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﺎﺳﺐ؟
ﺑﺎﻟطﺑﻊ ﯾﻣﻛﻧﻧﺎ ﺗﺧزﯾن اﻟرﻗم 5ﻓﻲ ﻣﺗﻐﯾر ﻣن ﻧوع intوﻧﺳﺗطﯾﻊ أن ﻧﺧزﻧﮫ أﯾﺿﺎ ً ﻓﻲ ﻣﺗﻐﯾر ﻣن ﻧوع byteﻓﻣﺎ ●
ھﻲ اﻟﻣﺷﻛﻠﺔ؟
اﻟﻣﺷﻛﻠﺔ ﺗﻛﻣن ﻓﻲ إھدار ﻣوارد اﻟﺣﺎﺳوب ،ﻛﻣﺎ ھو ﻣوﺿﺢ ﻓﻲ ﺟدول ) ،(4ﻓﺈن ﺣﺟم اﻟذاﻛرة اﻟﻣﺣﺟوزة ●
ﻟﻠﻣﺗﻐﯾر ﻣن ﻧوع byteھو 1ﺑﺎﯾت ،ﻓﻲ ﺣﯾن ﺣﺟم اﻟﺑﯾﺎﻧﺎت اﻟﻣﺣﺟوزة ﻟﻠﻣﺗﻐﯾر ﻣن ﻧوع intھو 4ﺑﺎﯾت .
رﺑﻣﺎ ﺗظن أﻧﮫ ﻣﺗﻐﯾر واﺣد ﻓﻘط ،ﻟﻛن اﻷﻣر ﻟﯾس ﺑﺎﻟﺻورة اﻟﺗﻲ ﺗﺗﺧﯾﻠﮭﺎ ،ﺗﺧﯾل ﺑﺄﻧك ﺗﺑرﻣﺞ ﺗطﺑﯾق وﯾب ،وأردت ●
ﺗﺧزﯾن رﻗﻣﺎ ﻣوﺟﺑﺎ أﻗل ﻣن 255ﻓﻲ اﻟذاﻛرة ﻟﺳﺑب ﻣﺎ ،وھذا اﻟﻣوﻗﻊ اﻹﻟﻛﺗروﻧﻲ ﯾزوره ﻓﻲ اﻟﻠﺣظﺔ اﻟواﺣدة
أﻟف ﺷﺧص ،وﺑﺎﻟﺗﺎﻟﻲ اذا ﻛﻧت ﻗد اﺳﺗﺧدﻣت ﻧوع اﻟﺑﯾﺎﻧﺎت ﻣن ﻧوع intﺳﯾﺣﺗﺎج اﻟﺑرﻧﺎﻣﺞ أن ﺗﺣﺟز 4آﻻف
ﺑﺎﯾت ﻓﻲ اﻟذاﻛرة ﻓﻲ ﻧﻔس اﻟﻠﺣظﺔ ﻓﻲ ﺣﯾن ﻟو ﻛﺎن ﻧوع اﻟﺑﯾﺎﻧﺎت ھو byteﻓﺈﻧﻧﺎ ﻧﺣﺗﺎج ﻓﻘط أﻟف ﺑﺎﯾت وﺑﮭذا
وﻓرﻧﺎ 3آﻻف ﺑﺎﯾت ﻣن اﻟذاﻛرة اﻟرﺋﯾﺳﯾﺔ.
ﻛﯿﻒ ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﺎﺳﺐ؟
ﻣﺎذا ﻟو ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت ارﻗﺎم ﻋﺷرﯾﺔ ،ﻓﻣﺎ ھو اﻷﻓﺿل؟
★ ﺑﻧﻔس اﻟطرﯾﻘﺔ ﻧﺣﺗﺎج ان ﻧﺣدد اﻟﺣد اﻻدﻧﻰ و اﻟﺣد اﻷﻗﺻﻰ ﻟﻠﺑﯾﺎﻧﺎت اﻟﻣرادة ﺗﺧزﯾﻧﮭﺎ .
★ ﺗﺗﯾﺢ ﻟﻧﺎ ﻟﻐﺔ C#ﺛﻼﺛﺔ أﻧواع ﻣن اﻟﺑﯾﺎﻧﺎت ﻟﺗﻣﺛﯾل اﻷرﻗﺎم اﻟﻌﺷرﯾﺔ وھﻲ floatو doubleو ،decimalﻓﻣﺎ
اﻟﻔرق اﻟﺣﻘﯾﻘﻲ ﺑﯾﻧﮭﻣﺎ.
★ إن اﻟﻔرق اﻟﺣﻘﯾﻘﻲ ﺑﯾن أﻧواع اﻟﺑﯾﺎﻧﺎت اﻟﺛﻼﺛﺔ ھذه ﯾﻛﻣن ﻓﻲ دﻗﺔ اﻟﺟزء اﻟﻌﺷري اﻟذي ﻧرﻏب ﺑﺎﻟﺣﺻول ﻋﻠﯾﮫ.
ﻧﻮع اﻟﺒﯿﺎﻧﺎت float
ﻣﺎذا ﻟو ﻛﺎﻧت اﻟﺑﯾﺎﻧﺎت ارﻗﺎم ﻋﺷرﯾﺔ ،ﻓﻣﺎ ھو اﻷﻓﺿل؟
● ﯾﺳﺗﺧدم ھذا اﻟﻧوع ﻟﺗﻣﺛﯾل اﻷرﻗﺎم اﻟﻌﺷرﯾﺔ ﻓﻲ ﻣﺳﺎﺣﺔ ﺗﺧزﯾﻧﯾﺔ 4ﺑﺎﯾت ﻛﻣﺎ ھو ﻣوﺿﺢ ﻓﻲ ﺟدول ) ،(4ﻗﯾﻣﺗﮫ
اﻻﻓﺗراﺿﯾﺔ ھو 0.0fأو 0.0Fوﯾُﺧزن ﻧوع اﻟﺑﯾﺎﻧﺎت ھذا 7ﺧﺎﻧﺎت رﻗﻣﯾﺔ ﻓﻘط.
● اﻟﺣرف fﯾﺷﯾر إﻟﻰ أن ھذا اﻟرﻗم اﻟﻌﺷري ھو ﻣن ﻧوع floatﺣﯾث أن اﻻﻓﺗراﺿﻲ ﻷي رﻗم ﻋﺷري ﻓﻲ ﻟﻐﺔ
C#ھو ﻣن ﻧوع .double
● ﻓﺈذا أردﻧﺎ ان ﻧﺳﻧد ﻗﯾﻣﺔ ﻋﺷرﯾﺔ ﻟﻣﺗﻐﯾر ﻣن ﻧوع floatﯾﺟب ﻋﻠﯾﻧﺎ ﻛﺗﺎﺑﺔ اﻟﺣرف fاﺧر اﻟرﻗم،ﺣﯾث ﻋد ﻛﺗﺎﺑﺗك
ﻟﮭذا اﻟﺣرف ﺳﺗﻔﺗرض ﻟﻐﺔ C#ﯾﺄن اﻟرﻗم ﻣن ﻧوع doubleو ﺳﺗظﮭر ﻟك ﻣﺷﻛﻠﺔ.
ﻧﻮع اﻟﺒﯿﺎﻧﺎت float
ﺗﺎﺑﻊ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ:
ﻣﺎذا ﺗﻼﺣظ؟
ﻧﻮع اﻟﺒﯿﺎﻧﺎت float
ﻟﻘد ذﻛرﻧﺎ أن اﻟﻘدرة اﻟﺗﺧزﯾﻧﯾﺔ ﻟﻧوع floatھو ﻓﻘط 7ﺧﺎﻧﺎت رﻗﻣﯾﺔ وﺑﺎﻟﺗﺎﻟﻲ ﺳﯾﺗم ﺗﻘرﯾب اﻟﺧﺎﻧﺔ اﻟﺛﺎﻣﻧﺔ
ﻟﯾﺻﺑﺢ اﻟرﻗم 7ﺧﺎﻧﺎت.
ﺳﺗﻛون ﻧﺗﯾﺟﺔ اﻟطﺑﺎﻋﺔ ھﻲ ،0.1234567ﺣﯾث أن اﻟﺧﺎﻧﺔ اﻟﺛﺎﻣﻧﺔ أﻗل ﻣن ،5ﻓﻠم ﯾﺗم ﺗﻘرﯾب اﻟرﻗم ﻛﻣﺎ ھو
ﻣوﺿﺢ ﻓﻲ ﻧﺗﯾﺟﺔ اﻟﺗﻧﻔﯾذ.
ﻧﻮع اﻟﺒﯿﺎﻧﺎت float
ﻟﻛن ﻣﺎذا ﻟو ﻛﺎن ﻟدﯾﻧﺎ رﻗم ﻋﺷري ﻣﻛون ﻣن 8ﺧﺎﻧﺎت ﺑﮭذا اﻟﺷﻛل 0.99999999ھل ﺳﯾﺗم ﺗﻘرﯾﺑﮫ إﻟﻰ 1
ﺻﺣﯾﺢ .ﺑﺎﻟﺗﺄﻛﯾد ،ھذا ﻣﺎ ﺳﯾﺣدث ،ﺳﻧﻔﻘد اﻟﺗﻣﺛﯾل اﻟﻌﺷري ﻟﻠرﻗم ﺑﺳﺑب ﺗﻘرﯾب اﻟﺧﺎﻧﺔ اﻟﺛﺎﻣﻧﺔ إﻟﻰ 1أﻣﺎ إذا ﻛﺎن
اﻟرﻗم ﻣﻛون ﻣن 7ﺧﺎﻧﺎت ﻓﻠن ﺗﺗم ﻋﻣﻠﯾﺔ اﻟﺗﻘرﯾب ،ﺣﺎول ﺗﻧﻔﯾذ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ
ﻧﻮع اﻟﺒﯿﺎﻧﺎت float
ﻣﺎذا ﺗﺗوﻗﻊ أن ﺗﻛون ﻧﺗﯾﺟﺔ ﺗﻧﻔﯾذ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ؟
ﻧﻮع اﻟﺒﯿﺎﻧﺎت double
● ﻛﻣﺎ ﻻﺣظﻧﺎ ،ﻓﺈن ﻗدرة اﻟﻣﺗﻐﯾرات ﻣن ﻧوع floatﻣﺣدودة ،إذ ﻻ ﺗﺳﺗطﯾﻊ ﺗﻣﺛﯾل أﻛﺛر ﻣن 7أرﻗﺎم ﺑﻣﺎ ﻓﯾﮭﺎ
اﻟﺟزء اﻟﻌﺷري ﻣﻧﮭﺎ ،وھذه ﻣﺷﻛﻠﺔ ﻓﻲ ﺑﻌض اﻟﺗطﺑﯾﻘﺎت اﻟﺣﺳﺎﺑﯾﺔ اﻟﺗﻲ ﺗﺣﺗﺎج إﻟﻰ دﻗﺔ ﻋﺎﻟﯾﺔ.
● ھﻧﺎ ﯾﺄﺗﻲ ﻧوع اﻟﺑﯾﺎﻧﺎت doubleوھو اﻟﻧوع اﻻﻓﺗراﺿﻲ ﻓﻲ ﻟﻐﺔ ،C#وﻗﯾﻣﺗﮫ اﻻﻓﺗراﺿﯾﺔ ھو 0.0dأو
،0.0Dﻟﻛن ﻻ ﯾﺗوﺟب ﻋﻠﯾﻧﺎ ﻛﺗﺎﺑﺔ اﻟﺣرف dاﻟذي ﯾﻌﻧﻲ ،doubleﻷن اﻷرﻗﺎم اﻟﻌﺷرﯾﺔ اﻻﻓﺗراﺿﯾﺔ ﻓﻲ
ﻟﻐﺔ C#ھﻲ ﻣن ﻧوع .double
● ﯾﺳﺗطﯾﻊ ھذا اﻟﻧوع ﻣن اﻟﺑﯾﺎﻧﺎت ﺗﻣﺛﯾل اﻷرﻗﺎم اﻟﻌﺷرﯾﺔ ﻓﻲ 8ﺑﺎﯾت وھﻲ ﺿﻌف ﻣﺳﺎﺣﺔ اﻟﻣﺗﻐﯾر ﻣن ﻧوع
،floatﺣﯾث ﯾﺳﺗطﯾﻊ اﻟﻣﺗﻐﯾر ﻣن ﻧوع doubleﺗﻣﺛﯾل 15ﺧﺎﻧﺔ رﻗﻣﯾﺔ ﺑﺧﻼف اﻟﻣﺗﻐﯾر ﻣن ﻧوع float
اﻟذي ﻻ ﯾﺳﺗطﯾﻊ ﺗﻣﺛﯾل أﻛﺛر ﻣن 7ﺧﺎﻧﺎت رﻗﻣﯾﺔ.
ﻧﻮع اﻟﺒﯿﺎﻧﺎت decimal
● ﻓﻲ اﻟﻛﺛﯾر ﻣن اﻟﺗطﺑﯾﻘﺎت ﺧﺎﺻﺔ اﻟﺗطﺑﯾﻘﺎت اﻟﻣﺎﻟﯾﺔ واﻟﺗطﺑﯾﻘﺎت اﻟﻌﻠﻣﯾﺔ اﻟدﻗﯾﻘﺔ ﻣﺛل اﻟﺗطﺑﯾﻘﺎت اﻟﻔﺿﺎﺋﯾﺔ
واﻟﻔﯾزﯾﺎﺋﯾﺔ ﻟن ﺗُﻠﺑﻲ أﻧواع اﻟﺑﯾﺎﻧﺎت floatو doubleاﻟدﻗﺔ اﻟﻣطﻠوﺑﺔ ،اﻟﺣل ھﻧﺎ ﯾﻛﻣن ﻓﻲ ﻧوع ﺑﯾﺎﻧﺎت
ﻟدﯾﮫ ﻗدرة ﺗﻣﺛﯾل ﻋﺎﻟﯾﺔ ﻓﻲ اﻟدﻗﺔ ﻟﻸرﻗﺎم اﻟﻌﺷرﯾﺔ وھﻧﺎ ﯾﺄﺗﻲ ﻧوع اﻟﺑﯾﺎﻧﺎت .decimal
● ﻛﻣﺎ ھو ﻣوﺿﺢ ﻓﻲ ﺟدول ) ،(4ﻓﺈن ﻧوع اﻟﺑﯾﺎﻧﺎت decimalﻟدﯾﮫ ﻗدرة ﺗﺧزﯾﻧﯾﺔ ﻋﺎﻟﯾﺔ ﺗﺳﺎوي 16ﺑﺎﯾت
وھذا ﻣﺎ ﯾﺗﯾﺢ ﻟﻧﺎ اﻟﺗﻌﺎﻣل ﺗﻣﺛﯾل أرﻗﺎم ﻋﺷرﯾﺔ ﺗﺻل إﻟﻰ 28رﻗم.
ﻧﻮع اﻟﺒﯿﺎﻧﺎت decimal
● اﻟﻘﯾﻣﺔ اﻻﻓﺗراﺿﯾﺔ ﻟﻧوع اﻟﺑﯾﺎﻧﺎت decimalھو 0.0mأو 0.0Mواﻟﺣرف Mﯾُﺷﯾر إﻟﻰ أن ھذا اﻟرﻗم
ﻣن ﻧوع decimalوﯾﺟب ﻛﺗﺎﺑﺗﮫ ،إذ أن اﻻﻓﺗراﺿﻲ ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻐﺔ C#ھو doubleﻛﻣﺎ ﺗﺣدﺛﻧﺎ ،ﺗﺄﻣل
اﻟﻣﺛﺎل اﻟﺗﺎﻟﻲ وﺣﺎول ﺗﻧﻔﯾذه ﺳﺗﻼﺣظ أن اﻟرﻗم ﺗم طﺑﺎﻋﺗﮫ ﺑﺷﻛل ﺻﺣﯾﺢ دون ﻓﻘدان دﻗﺗﮫ.
WriteLine وWrite اﻟﻔﺮق ﺑﯿﻦ