العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

 

 
أدوات الموضوع انواع عرض الموضوع
المشاركة السابقة   المشاركة التالية
  #1  
قديم 02-16-2010, 03:24 AM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الخامس : الأنواع والدوال الرئيسية .net 2008

خصائص Console :

حتى هذه المرحلة من الدروس ، نستطيع الآن الكتابة على الشاشة وعمل دوال واستدعاءها واسترجاع قيم وطباعتها ، عند هذه المرحلة سنأخذ راحة قصيرة للتعرف على العناصر الاساسية للبيئة Console التي نعمل عليها حالياً .

اهم الدوال التي تحتويها الفئة Console هي دوال الادخال والاخراج ، وهي :

كود PHP:
Console.Write(string);
// لكتابة نص .
Console.WriteLine(string)
// لكتابة نص مع ضغط الانتقال لسطر جديد بعد الإنتهاء .
string x=Console.ReadLine();
// لقراءة مدخلات من المستخدم ويتم الانتهاء من القراءة مع ضغط انتر
int x=Console.ReadKey();
// قراءة حرف واحد فقط ويتم انهاء عملية القراءة مع ضغط إنتر
ConsoleKeyInfo rConsole.ReadKey();
// قراءة حرف واحد فقط والانتهاء من القراءة بعد إدخاله ، يمكن ادخال اي شيء مثل زر الأسهم مثلاً لذا يتم تخزين الناتج في متغير خاص 
لو كنت مبرمج VB.net ، فقط ازل ال ; من آخر الجملة .

دوال أخرى خاصة بعمليات الألوان مثل ForeGroundColor للون النص و BackgroundColor للون الخلفية ، تستطيع تعيين اللون عن طريق الفئة ConsoleColor بالشكل التالي :

كود PHP:
Console.ForegroundColor ConsoleColor.Yellow
هناك خصائص أخرى مثل WindowWidth و Title وخلافها لتحديد مظهر النافذة .

نعود لأحد مواضيع الطباعة ، لنفترض اننا نريد القيام بطباعة النص التالي :

الإسم : (المتغير name ) - العمر (المتغير Age )

يمكننا القيام بذلك عن طريق كتابة الكود التالي :

كود PHP:
Console.Write("First Name: " name " - Age: " age); 
هناك طريقة أخرى افضل ايضاً ، بالطريقة التالية :

Console.Write("First Name: {0} - Age: {1}" ,name,age);

بواسطة الطريقة الثانية ، يمكنك عمل Format للنص باستخدام رموز d للارقام و e لل exponential بالشكل التالي مثلاً :

كود PHP:
Console.WriteLine("E format: {0:E}"99999); 
مجدداً ، لو كنت مبرمج VB.net فلن تضطر سوى لازالة ; من آخر كل سطر ...

تعريف المتغيرات - عودة مرة أخرى - :

كما ذكرنا في الدروس السابقة يمكننا تعريف المتغيرات بالطريقة التالية :

كود PHP:
int x;
string name
خلافه ، ولكنك بالتأكيد تلاحظ وجود الكلمة new في كثير من تعريف المتغيرات ، فما هي مهمتها ؟

بعض الانواع البسيطة يمكن تعريفها باستخدام new وهو ما سيعيدها إلى صورتها الافتراضية الموجودة في المنشئ الخاص بها ، حيث يتم تحويل الانواع المنطقية bool إلى false والارقام إلى صفر وخلافه .

لكن هناك انواع اخرى من البيانات لا يمكنك استخدامها إلا باستخدام new مثل ال objects و arraylists وخلافه مما سنتعرف عليه في حينه .

هذه هو تقسيم الانواع في C# :



** الصورة من كتاب ProCSharp 2008 and .net 2008 platform .

جميع الانواع المشتقة من Object تملك بالضرورة طرقه الاساسية مثل Equals و GetHashCode وخلافه .

أما الطرق الاساسية للانواع الرقمية مثل int و long فتشمل الخصائص الاساسية مثل
MaxValue و MinValue ... فيما يحتوي ال char على خصائص مثل IsDigit و IsLetter لتحديد طبيعة المدخلات . ونؤجل الحديث حول String إلى الدرس القادم ...

String :

سنتحدث في درسنا هذا حول كل ما يتعلق بالنوع String .

الخصائص والدوال الاساسية لل String :

Length :
تحدد طول النص .

Compare :
للمقارنة بين نصين .

Contains :
للبحث عن نص او حرف ضمن النص .

EndWith و StartWith :
لمعرفة فيما اذا كان النص يبدأ او ينتهي بحرف او نص معين .

IndexOf و LastIndexOf .
لمعرفة مكان وجود حرف او بداية نص معين ضمن النص ، سواء من البداية او من النهاية .

Remove :
حذف جزء معين من النص .

Insert :
ادراج نص داخل ال String .

Replace :
استبدال جزء من النص .

Split :
تقسيم النص حسب شيء معين إلى مصفوفة ، مثلاً تقسيم النص مع كل علامة (-) إلى مصفوفة جديدة .

ToUpper و ToLower :
لتحويل حالة الاحرف بين capital و small .

كود PHP:
string[] newarray g.Split("-"); 
دمج النصوص :
الطريقة الابسط لدمج النصوص هي باستخدام + ، او باستخدام الدالة Concate بالشكل التالي :

كود PHP:
string s3 String.Concat(s1s2); 
يمكنك مراجعة الرابط التالي مباشرة لاستخدام الطريقة الافضل لدمج النصوص عن طريق StringBuillder .
http://vb4arab.com/vb/showthread.php?p=57289

مقارنة النصوص :

يمكن استخدام المعامل == لمقارنة النصوص في C# أو = في VB.net ، إلا انه من المفضل استخدام الدالة Equals بالشكل التالي :

كود PHP:
Console.WriteLine(s1.Equals(s2)); 
Escape Characters

في كل لغات عائلة السي ، تجد حرف / محجوزاً لبعض الحروف الخاصة مثل /n لسطر جديد و /t لعمل Tab وغيره ، بالشكل التالي مثلاً :

كود PHP:
Console.Write("My Name:/nAhmed Gamal"); 
لذا إذا اردت ان تكتب / فلا بد لك ان تكتب // ، هناك حل آخر وهو استخدام ما يعرف باسمVerbatim Strings حيث يمكنك في هذه الحالة كتابة نص عادي بدون القلق من ال
Escape Characters بالشكل التالي مثلاً :

كود PHP:
Console.WriteLine(@"C:\MyApp\bin\Debug"); 
التحويل من وإلى String :

تحتوي معظم الانواع الاساسية على الدالة Parse والتي تحول النص إلى مناظره ، بالشكل التالي مثلاً :

كود PHP:
int x int.Parse("1");
bool v bool.Parse("True"); 
كما تحتوي ايضاً على الدالة ToString لتحويلها إلى نص بالشكل التالي مثلاً :

كود PHP:
string x m.ToString(); 
StringBuillder :

فئة مطورة من ال String تحتوي على مميزات اضافية مثل دالة دمج النصوص السابقة الذكر Append .

التعامل مع التاريخ والوقت :

تجد جميع ما يتعلق بالتاريخ والوقت في المكتبة DateTime ، فمثلاً لاضافة تاريخ معين :

DateTime dt = new DateTime(2004, 10, 17);

لطباعة التاريخ الحالي :

كود PHP:
Console.WriteLine(DateTime.Now); 
يمكن التعامل مع الوقت أيضاً باستخدام TimeSpan :

كود PHP:
TimeSpan ts = new TimeSpan(4300); 
الاضافة والطرح باستخدام الداول Add و Substract بالشكل التالي :

كود PHP:
Console.WriteLine(ts.Subtract(new TimeSpan(0150))); 
أو

كود PHP:
dt dt.AddMonths(2); 
نكتفي بهذا القدر من الحديث حول المتغيرات ، نواصل في الدرس القادم حول التحويل بين انواع المتغيرات المختلفة .

التحويل بين المتغيرات المختلفة :

بداية ، تنقسم التحويلات بين المتغيرات إلى نوعين رئيسين :

1- Widening Conversions
2- Narrowing Conversions

1- Widening Conversions :


يقصد بهذا النوع من التحويلات تلك التحويلات التي لا يمكن فيها خسارة اي نوع من البيانات ، وتسمى باسم upward cast ، مثال ذلك التحويل من Short إلى Integer في المثال التالي :

كود PHP:
Short x=5;
power(x); 
وفي الدالة power :

كود PHP:
int power(int number)
{
return 
number^2;

لو لاحظت ستجد ان الدالة تستقبل بيانات من نوع Int فيما ارسلنا لها بيانات من نوع Short ، في هذه الحالة لن تكون هناك مشكلة لإن مدى ال Integer اكبر من مدى ال Short ، وبالتالي فإن اي مدى لل Short يقع ضمن ال Integer بكل تأكيد .

2- Narrowing Conversions

الحالة العكسية ، التحويل من الاكبر إلى الأصغر ، مثلاً لو كان المتغيران من نوع Integer والناتج من نوع Short ، سيعمل الامر بصورة صحيحة لو كان مجموع الرقمين Integer اصغر من الحد الأقصى لل Short ، ولكن لو افترضنا ان مجموعهم تجاوز حدود مدى ال Short فإن ذلك سينتج مشكلة .

لهذا السبب ، يمنعك الكومبايلر مباشرة من كتابة مثل هذا الكود ويعطيك رسالة الخطأ التالية :

Cannot implicitly convert type 'int' to 'short'.

لكن لو رغبنا في التحويل رغماً عن هذه النقطة حتى لو نتج عن ذلك ضياع بعض البيانات ، في هذه الحالة نلجأ لما يسمى بـ Cast :

عمليات ال Cast :

لا تنطبق عمليات ال cast على التحويل من اكبر لأصغر فقط ، بل يمكن استخدامها في كل عمليات التحويل ، ابسط استخدام لها هو لتحويل Integer إلى Short بالشكل التالي :

كود PHP:
int var=10;
short var2 = (short)var; 
في المثال السابق ، لو قمنا بطباعة نتيجة var2 سنجد انها 10 ، لكن ماذا لو افترضنا المثال التالي :

كود PHP:
int var=100000;
short var2 = (short)var;
Console.WriteLine(var2);
Console.ReadKey(); 
النتيجة لن يمكن توقعها ، حيث ستكون النتيجة هي -31072 ، حيث سيقوم الكومبايلر بعكس الاشارات ابتداء من 32768 ومن ثم انقاص رقم مع كل زيادة عن الرقم السابق ، او باختصار فهو يقوم بطرح الرقم الناتج من الحد الاقصى او المدى الاقصى للنوع وهو 32767 .

باستخدام هذا النوع من التحويلات ، فإنه من المفضل دائماً استخدام Try Catsh والتي شرحها الاخ محمد سامر في الدرس السابق ، والتي سنعود لشرحها في مرحلة اخرى من الدورة بالتفصيل .


التحويل باستخدام Convert :

يمكن التحويل بين اي انواع من البيانات باستخدام الفئة Convert بالشكل التالي مثلاً :

كود PHP:
myByte Convert.ToByte(myInt); 
نواصل في الدرس القادم مع الجمل الشرطية في .net والتكرارات Loops .


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
 


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس الخامس والعشرون : الأخطاء واقتناصها .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 12-16-2010 11:47 PM
الدرس الخامس ( في أدب المرء مع ربه – سبحانه ) ابو تسنيم روضة العقيدة 2 09-08-2010 06:13 PM
الدرس الخامس عشر : التعرف على Static دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 08:05 PM
الدرس الحادي عشر : الأنواع Value والأنواع Reference دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-18-2010 08:04 PM
الدرس الثالث : مفاهيم بيئة .net الرئيسية khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-15-2010 03:46 AM

استضافة الحياة

الساعة الآن 07:15 PM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz