المشاركات : 267
المواضيع 20
الإنتساب : Sep 2014
السمعة :
33
الشكر: 162
تم شكره 687 مرات في 253 مشاركات
26-11-18, 03:48 PM
السلام عليكم ورحمة الله وبركاته
سوف نشرح بإذن الله فى هذا القسم EntityFramework مع #C لكن معظم الاعضاء هنا يعملون ب vb.net , vb.6
لذلك سوف نحاول توجيه الاعضاء أولا لـ #C لأنها اللغة الاساسية لميكروسوفت الان وتطويرها يتم قبل البيسك دوت نت بالاضافة ان يونتى لتطوير الالعاب وزامرين لتطوير تطبيقات الموبايل بالسى شارب
وتقنية الكور فى الدوت نت اول اصدار لها كان للسى شارب والاصدار الثانى كان يدعم اللغتين
ايضا c# syntax تشبه لـ syntax لغات وتقنيات اخرى لحد كبير مثل جافااسكربت وجكويرى و css وجافا
والمزايا الكثيرة فى السى شارب التى تستحق ان تتعلمها
.
لذلك سوف اقوم اولا بكتابة معظم اوجه الاختلاف بين اللغتين لتكون مرجعا لكل المنتقلين من فيجول بيسك للسة شارب
وسوف بكون الموضوع مغلق لانى سوف اكتب الاختلافات على اكثر من مرة بنفس الموضوع هنا ليكون التنسيق متتالى للباحيثن عنه
ولعدم تفرغى بشكل كامل
وإن شاء الله اى سوال عن اللغة ممكن يكون قسم الاسئلة الخاص باللغة
انا كنت من مبرمجين فيجول بيك 6 و دوت نت الى انت قررت ان يكون مشروع التالى بالسى شارب وتحويل مشاريعى القديمة للسى شارب
وبقالى فترة كبيرة اعمل بها
بالاضافة الى ان معظم الشركات تطلب مبرمجين #C وتطلب دائما التقنيات الجديدة بطلبات الوظائف
ربنا يجعلها دروس مفيدة للجميع
وفقنا ووفقكم الله
}}}
تم الشكر بواسطة: Sajad , حريف برمجة , elgokr , elgokr , محمد كريّم , sendbad100 , +yassen+ , asemshahen5 , dametucorazon , Abou Eman , سعود , سعود , alsouf , الكاتب , اباذر , اباذر , العيد1403 , alimoi79 , alimoi79 , اسامه الهرماوي , اسامه الهرماوي , Anas Mahmoud , thevirus , muaamar , boussaid , الماجيك مسعد , الماجيك مسعد
المشاركات : 1,817
المواضيع 141
الإنتساب : Sep 2013
السمعة :
112
الشكر: 7278
تم شكره 3459 مرات في 585 مشاركات
المشاركات : 267
المواضيع 20
الإنتساب : Sep 2014
السمعة :
33
الشكر: 162
تم شكره 687 مرات في 253 مشاركات
فى البداية يجب ان نعرف ان لغة سى شارب تميز بين الحروف الكبيرة والصغيرة (capital & small)
لذلك يجب ان ننتبه عند كتابة الكود
فى البداية سنعرف متغير رقمى لكى نرى مدى بساطة وسهولة اللغة
كود :
VB.net :
Dim x As Integer = 5
لاحظ وجود علامة Semi-colon او الفاصلة المنقوطة ; نهاية الكود لكن ليس كل الاكواد فى السى شارب تنتهى بالفاصلة المنقوطة مثل جمل الشرط و جمل for سوف نتعرف عليها ان شاء الله
ايضا فى السى شارب يتم تقديم نوع المتغير عن القيمة عكس البيسك فقط هكذا
كده عرفنا متغير رقمى
الان بنفس الطريقة نجرب تعريف متغير نصى
كود :
VB.net :
Dim y As String
وهذا قائمة أهم انواع Data Types
كما قلنا ان اللغة تميز الاحرف الكبيرة والصغيرة لاحظ الجدول بالاعلى الفرق بين اللغتين .
ايضا ليست كل البيانات متشابه فى الاسم لاحظ
Boolean - bool
Date - DateTime
Integer - int
الان سنقوم بعرض بعض انواع Keyword بجدول اخر
ان كان الامر غامض بعض الشيئ لكنى بإذن الله سوف اضع دروس عملى على سى شارب نفسها بنفس الموضوع هنا للاكواد التى يستخدمها معظمنا فى لغة البيسك دوت نت
## يتبع
}}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة , محمد كريّم , elgokr , Sajad , Sajad , +yassen+ , +yassen+ , asemshahen5 , dametucorazon , صالح حمادي , صالح حمادي , Abou Eman , alsouf , اباذر , العيد1403 , alimoi79 , YousefOkasha , اسامه الهرماوي , اسامه الهرماوي , abozeyd , Anas Mahmoud , boussaid , الماجيك مسعد
المشاركات : 267
المواضيع 20
الإنتساب : Sep 2014
السمعة :
33
الشكر: 162
تم شكره 687 مرات في 253 مشاركات
السلام عليكم
سنتكلم فى هذا الدرس عن الاوبريشن وتكوين الكود فى البييسك و سى شارب ربما ستكون الدروس غامضة لكن من بعد هذا الدرس ستكون اكثر سلاسة ووضح ان شاء الله
فى هذا الجدول بعض انواع Operators
اما تكويد الكود لا يختلف كثيرا عن الفيجول بيسك لكن مقارنة ب syntax السى شارب مع لغات اخرى كما ذكرنا بأول تعليق
نجد اخوانى ان كود forms الاساسى للفجيول بيسك بهذا الشكل
كود :
Vb.net :
Public Class Form1
End Class
اما فى السى شارب تكون بالشكل التالى
كود :
C# :
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
نلاحظ ان اكواد الفيجول بيسك تنتهى بى End Class بينما تنتهى اكواد السى شارب بالاقواس الغريبة هذه }
بكل بساطة وبدون تعقيد اخوانى كما لكل كود بداية يدوجد ايضا اغلاق الكود وهذا شامل كل اللغات والتقنيات وليست للدوت نت فقط
لو طبقنا هذا الامر على سى شارب نجد ان اكواد البداية والنهاية تكون بهذا الشكل
نلاحظ هنا كود comment او التعليق فى السى شارب
كود :
// التعليق هنا
/* التعليق هنا */
ايضا كما هو الحال فى الفيجول بيسك لا يصح ان نضع فنكشن داخل فنكشن ولا ميثود داخل ميثود ولا داخل حدث الا بالنداء عليها
كود :
Vb.net :
Call MyMethod()
نلاحظ تكوين الاكواد لما نضغط دبل كليك على الفروم لاظهار كود load form
كود :
Vb.net :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
REM your code
End Sub
كود :
C# :
private void Form1_Load(object sender, EventArgs e)
{
// your code
}
اعتقد ان الامور الان اكثر وضوحا بالنسبة لبداية ونهاية الكود خصوصا فى السى شارب لأن الكثير من مبتدأين السى شارب يجدون ان موضوع الاقواس حاجز صعب تعلمه
سنتكلم ان شاء الله عن تداخل الاكواد الكثيرة بيمثود اوحد او ببوتن واحد فى دروس متقدمة
وسوف نتكلم بإذن الله عن جمل الشرط و الميثود و معظم الاكواد المستخدمة لمعرفة كتابة كود سى شارب والفرق بيه وبين البيسك
واعذرونى على التاخير فى كتابة باقى الموضوع لأشغالى قليلا
وفقنا ووفقكم الله
## يتبع
}}}
تم الشكر بواسطة: elgokr , محمد كريّم , sendbad100 , sendbad100 , +yassen+ , asemshahen5 , dametucorazon , dametucorazon , larbihamri , صالح حمادي , Abou Eman , alsouf , أبووسم , اباذر , العيد1403 , alimoi79 , ahmadpal , الماجيك مسعد , الماجيك مسعد
المشاركات : 267
المواضيع 20
الإنتساب : Sep 2014
السمعة :
33
الشكر: 162
تم شكره 687 مرات في 253 مشاركات
السلام عليكم
ندخل سريعا على تطبيق ما تم كتابه فى الجداول التى بالاعلى بعد ان قمنا ايضاح كيفية تكوين شكل الكود
سنرى ان شاء الله الفرق بين الاكواد فى اللغتين وكيف تتم كتابتها
الجمل الشرطية :
كود :
Vb.net :
Dim number As Integer
number = 100
If number = 100 Then
MessageBox.Show("صح")
Else
MessageBox.Show("خطأ")
End If
كود :
C# :
int number;
number = 100;
if(number == 100)
{
MessageBox.Show("صح");
}
else
{
MessageBox.Show("خطأ");
}
هنا عرفنا متغير اسمه number باللغتين واعطيناه قيمة 100 فى السطر الى تحتيه
فى لغة البيسك تتكون جملة الشرط من if – then - else – end if
اما السى شارب تكون بالشكل التالى
إقتباس :if(الشرط المستعلم عنه == القيمة)
{
ماذا نفعل اذا تحقق
}
else
{
ماذا نفعل ان لم تحقق
}
لاحظو شكل الاقواس فى السى شارب سواء جانب كلمة if ()
فى البيسك تكون = واحدة اما السى شارب == بالاضافة للاقواس تحت {} if وتحت {} else
فى الكود السابق تكلما انا كان الشرط يساوى القيمة هنجرب نعكس الشرط اذا لم يتحقق
كود :
Vb.net :
If Not number = 100 Then
MessageBox.Show("خطأ")
End If
كود :
C# :
if(number != 100)
{
MessageBox.Show("خطأ");
}
هنا نجد ان فى البيسك ضفنا if not لنقول لو اذا لم يتحقق الشرط
اما السى شارب قلنا له != وهى تعنى ايضا ان لم يتححق الشرط يمكنم مراجعة جدول Operators
ولا ننسى حساسية اللغة للاحرف الكبيرة والصغيرة
كما نلاحظ ايضا ان الرسالة لا تظهر الا بتحقق الشرط
وللعلم الطريقة هذه كما قلنا سابقا واكررها لكم ان معظم اوريشن السى شارب هو نفسه موجود فى لغات اخرى بنسبة كبيرة وان السى شارب لغة المستقبل عن البيسك
يمكنكم تطبق بعض الامثلة والمقابل لها فى اللغلتين من الجدول مثل ( null - Nothing)
والجمل النصية كما هى ("VB" – "C#")
نلاحظ ان فى جملة الشرط if لم يتم وضع فاصلة منقوطة ; فيها والكود الى بداخل الشرط ليه له علاقة بالشرط لذلك هو كود سة شارب عادى ينتهى ب فاصلة منقوطة
جملة شرطية اخرى
Vb.net
كود :
:
Dim number1, number2 As Integer
number1 = 100
number1 = 200
If number1 = 100 And number2 = 100 Then
MessageBox.Show("صح")
Else
MessageBox.Show("خطأ")
End If
كود :
C# :
int number1 , number2;
number1 = 100;
number2 = 200;
if (number1 == 100 & number2 == 200)
{
MessageBox.Show("صح");
}
else
{
MessageBox.Show("خطأ");
}
نلاحظ هنا اننا عرفنا متغيرن رقمين بنفس السطر وفصلنا بينها ب علامة , وهذه لا تخلف بين اللغتين
واعطينا لكل متغير قيمة مختلفة : اذا كان الشرط الاول و الشرط الثانى كل منهما يساوى قيمة محددة
ولاحظ معى And - & التى تعنى و فى الجملة الشرطية
بنفس الطريقة السابقة نكتب جملة اخرى
كود :
Vb.net
If number1 = 100 And number2 = 100 Then
كود :
C#
if (number1 == 100 & number2 == 200)
وهنا اعطينا لكل متغير قيمة مختلفة : اذا كان الشرط الاول يساوى قيمة محددة أو الشرط الثانى يساوى قيمة محددة
ولاحظ معى || - or التى تعنى أو فى الجملة الشرطية
ملاحظة :
كود :
فى سى شارب && تكتب AndAlso
كود :
فى سى شارب تكتب || OrElse
كود :
If number1 Is number2 Then
تكتب فى السى شارب
if (object.ReferenceEquals(number1, number2)
كود :
If number1 IsNot number2 Then
تكتب فى السى شارب
if (!object.ReferenceEquals(number1, number2))
يتبع ##
}}}
تم الشكر بواسطة: asemshahen5 , asemshahen5 , dametucorazon , صالح حمادي , Abou Eman , اباذر , العيد1403 , alimoi79 , محمد كريّم , abiza , الماجيك مسعد
المشاركات : 267
المواضيع 20
الإنتساب : Sep 2014
السمعة :
33
الشكر: 162
تم شكره 687 مرات في 253 مشاركات
السلام عليكم
سنتعرف على نوع اخر من الجمل الشرطية :
ويختلف اسمها من الفيجول بيسك Select Case الى السى شارب switch ()
كود :
VB.net
Dim number As Integer
number = 100
Select Case number
Case 0
MessageBox.Show("Zero")
Case 1
MessageBox.Show("One")
Case 2
MessageBox.Show("Two")
Case Else
MessageBox.Show("الرقم غير موجود")
End Select
كود :
C#
int number;
number = 100;
switch (number)
{
case 0:
MessageBox.Show("Zero");
break;
case 1:
MessageBox.Show("One");
break;
case 2:
MessageBox.Show("Two");
break;
default:
MessageBox.Show("الرقم غير موجود");
break;
}
نلاحظ ان بعد تعريف المتغير واعطائه قيمة اذا وجد ال شرط فى اى من حالات ال Case فأنه ينفذ الامر المطلوب وإن لم يجده ينفذ امر اخر
الان نتعرف على شكل loops :
كود :
VB.net
For index = 1 To 10
Next
======================================================
For Each index In item
Next
======================================================
Do While YourCode
Loop
كود :
C#
for (int i = 0; i < length; i++)
{
}
======================================================
foreach (var item in collection)
{
}
======================================================
do while (YourCode)
{
}
صائد و مانع الاخطاء :
كود :
VB.net
Try
Catch ex As Exception
End Try
كود :
C#
try
{
}
catch (Exception)
{
}
ملاحظة اخوانى ان ال try ليس فقط قناص الاخطاء وانما ممكن ان يمنعها ولا يمكن الاستغناء عنه داخل اى حدث او ميثود
نحن فى هذا الدرس لم نعطى امثلة على الكود لعدة اسباب
اولا القارئ للدروس قد فهم شكل الكود وهو بالطبع يعرف كتابته بالفيجول بيسك فلن يكون الامر صعب علية فى السى شارب
ثانيا الدروس هذه هى لكسر حاجز الخوف من السى شارب والذى يتصوره بعض الناس بشفرات غير مفهومه وصعبة
وثالثا وهو الاهم الدروس بشكل العامل لاظهار اختلافات اللغة وليست دورس تعليمية او كورس كتابى عن البيسك او السى شارب
لكننا بالطبع بعد ان نقوم بذكر معظم الاختلافات بإذن الله سوف اكتب اكواد وميثود للسى شارب يستخدمها مبرمج الفيجول بيسك والبيسك 6 لتساعدة للانتقال الى السى شارب لكن سيكون عمليا
يتبع ##
}}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة , asemshahen5 , asemshahen5 , dametucorazon , dametucorazon , صالح حمادي , Abou Eman , elgokr , ابراهيم ايبو , atef_020 , اباذر , العيد1403 , alimoi79 , محمد اسماعيل , محمد كريّم , abumohammed , abumohammed , firas taha , mr3amo , mr3amo , abid , الماجيك مسعد
|