العودة   منتدى رياض الجنة - 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

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

الساعة الآن 12:04 AM.


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