تعلم المعرفة الأساسية لـ C# التي يتطلبها ASP.NET
الكاتب:Eve Cole
وقت التحديث:2009-12-05 14:52:37
-
يتحدث مثال كتاب Microsoft عن ثلاث لغات: c# وvb وJscript لكي يتمكن الجميع من تعلم أشياء جديدة، فلنتعلم لغة c#. من الأفضل أن يكون لديك بعض المعرفة الأساسية بـ C++.
ولكن لا يهم إذا لم يكن لديك ذلك، فسيتعين عليك فقط بذل المزيد من الجهد.
أي لغة لها قسمان:
البيانات + القواعد + الخوارزمية
يتم استخدام البيانات لتمثيل المعلومات، ويستخدم بناء الجملة للتحكم فيها. بصراحة، الخوارزميات هي بعض طرق التفكير التي لخصها الناس لحل المشكلات. أما بالنسبة للبيانات، فمن الطبيعي أن تكون هناك هياكل بيانات، ومن ثم هناك الاستعلامات والإدخالات والتعديلات وما إلى ذلك.
1. بالطبع، يتم استخدام المتغيرات لتخزين البيانات. الآن دعونا نتحدث عن طريقة التصريح في لغة C#!
الطريقة المعتادة هي:
النوع + اسم المتغير
int x // تحديد متغير عدد صحيح
اسم السلسلة، pwd؛ // تحديد متغيرين للأحرف
الكائن x; // تحديد الكائن
object obj=new object();// أنشئ مثيلًا بناءً على كائن
public string x;// أضف معدل النوع إلى متغير الحرف حتى يتمكن جميع المستخدمين من الوصول إليه
للتوضيح:
عند التصريح عن المتغيرات، استخدم الأحرف الصغيرة للكلمات مثل كائن سلسلة int، لأن c# حساس لحالة الأحرف بشكل صارم، ومن الخطأ استخدام INT x لتعريف المتغيرات.
دعونا نلقي نظرة على برنامجين:
/* تعرف على كيفية الإعلان عن المتغيرات
إنشاء بواسطة المتشرد */
باستخدام النظام؛
اختبار الطبقة
{الفراغ الثابت الرئيسي ()
{ كثافة العمليات س = 3؛
Console.WriteLine("x={0}",x);
اسم السلسلة = "المتشرد"؛
سلسلة pwd = "197926"؛
Console.WriteLine("اسمك هو :{0};pwd هو {1}",name,pwd);
كائن ص؛
y=x;//تحويل صريح
Console.WriteLine("y={0}",y);
}
}
2. إرسال الأحرف إلى المتصفح:
ما ورد أعلاه يدور حول استخدام System.Console.WriteLine لإخراج قيمة متغير في C#، ولكن في ASP.NET لا تزال بحاجة إلى استخدام أسلوب Response.Write("char") لكائن الاستجابة، ولكن لا يمكنك حذف بين قوسين في هذا الوقت.
مثال:
<%@ language="C#" %>
<% اسم السلسلة؛
اسم = "المتشرد"؛
Response.Write("اسمك هو"+name);
%>
3. الوصول إلى قيمة سمة الفهرس (خذ العناصر الموجودة في النموذج كمثال)
يعرف الأصدقاء الذين تعلموا asp أنه يمكنك استخدام Requst.Form("object name") لاستخراج قيمة كائن النموذج، ولكن في asp.net، استخدم Request.QueryString["name"] لاستخراجه.
4. قم بتعريف سمات الفهرس
في asp.net نحتاج إلى تعلم مفاهيم برمجة الأحداث ومؤشرات الفهرس. من خلال مؤشر الفهرس يمكننا الوصول إلى معلومات البيانات الخاصة بالفئة مثل المصفوفة. لنقم ببناء مثال بسيط أولاً:
باستخدام النظام؛
classTeam
{
string[] s_name=new string[3]{"vagrant"، "jack"، "rose"}؛ // حدد حقلًا للفئة، ثم اكتب وظيفة المنشئ بحيث يمكن الوصول إلى الفئة الخارجية من خلال الفهرس
سلسلة عامة this[int nIndex]// إعلان فهرس الوصول
{
يحصل {
return s_name[nIndex];// يوفر وصولاً للقراءة للفئة الأجنبية
}
تعيين {
s_name[nIndex]=value;// توفير حقوق الكتابة للفصل الأجنبي
}
}
}
اختبار الطبقة
{
الفراغ العام الثابت الرئيسي () {
Team t1=new Team();// أنشئ مثيل لفئة الفريق
ل(int i=0;i<3;i++)
Console.WriteLine(t1[i]);// الوصول إلى معلومات بيانات المثيل من خلال مؤشر الفهرس
}
}
5. تحديد البيانات وتهيئتها
عندما نقوم بمعالجة البيانات المجمعة، غالبًا ما نستخدم المصفوفات. عند تعريف المصفوفة، نحتاج إلى مراعاة ثلاث مشكلات: النوع واسم البيانات والبعد.
اسمحوا لي أن أستخدم البيانات أحادية البعد كمثال، حيث يتم استخدام البيانات أحادية البعد بشكل شائع.
تحديد المصفوفة:
سلسلة اسم الطالب[]=سلسلة جديدة[50];
التهيئة:
الطريقة الأولى.
Studentname[0]="vagrant";
اسم الطالب[1]="جاك";
........
الطريقة الثانية.
int[] sex=new int[2]{0,1};//0 يمثل الذكر، 1 يمثل الأنثى
هذا سهل الفهم ولن أشرحه.
6. الهياكل والتعدادات
السبب الذي يجعلني أتحدث عن الهياكل والتعدادات معًا هو أن هناك أوجه تشابه واختلاف بينهما.
الهيكل: مجموعة من المعلومات المترابطة التي تشكل كيانًا واحدًا. يتضمن دفتر العناوين عادةً: الاسم ورقم الهاتف والعنوان وما إلى ذلك.
التعداد: سلسلة من البيانات لا يمكن فصلها منطقيا. على سبيل المثال، هناك أيام من الاثنين إلى الأحد في الأسبوع. لكن من الاثنين إلى الأحد لا يمكن فصلهما منطقيا.
هناك فرق بين الاثنين: البنية عبارة عن مجموعة من البيانات، بينما يمكن للتعداد أن يأخذ واحدة منها فقط في المرة الواحدة. الهياكل والتعدادات كلا النوعين من هياكل البيانات.
تحديد أنواع البيانات الهيكلية:
هيكل دليل الهاتف {
اسم السلسلة العامة؛
هاتف سلسلة العامة؛
عنوان السلسلة العامة؛
}
تحديد متغير من هذا النوع الهيكل
دليل الهاتف ص1؛
تعيين قيم لكل عضو في متغير البنية
p1.name="vagrant";
p1.phone="88888888";
p1.address = "ووهان"؛
تحديد نوع بيانات التعداد وتعيين القيمة
// تحديد نوع التعداد
التعداد العام حجم الرسالة {
صغير = 0،
متوسط = 1،
كبير = 2
}
// إنشاء متغير نوع التعداد
حجم الرسالة العامة msgsize؛
// قم بتعيين قيمة لهذا المتغير
msgsize = صغير؛
7. الإعلان عن الأساليب واستخدامها
// تحديد دالة بدون قيمة إرجاع
وظيفة باطلة باطلة () {
...
}
// قم بتعريف وظيفة فرعية بقيمة إرجاع
وظيفة سلسلة السلسلة () {
...
return (String) val;//(string) يشير إلى نوع الإرجاع
}
// قم بتعريف دالة يمكن حسابها
سلسلة بارمفونتيون (سلسلة أ، سلسلة ب) {
...
العودة (سلسلة) (أ + ب)؛
}
// استخدم الوظيفة
وظيفة باطلة();
String s1 = stringfunction();
String s2 = parmfunction("Hello", "World!");
8. بيانات التحكم في العمليات
لا يوجد فرق كبير بين عبارات التحكم في التدفق في C# وC++. إنه مجرد إضافة foreach إلى C# (والذي يجب أن يكون مألوفًا لمبرمجي vb).
أسوأ شيء في التحكم في العمليات هو الاختيار والتكرار.
استخدام العبارة الشرطية if:
إذا(Requery.QueryString["name"]==null){
إفادة....
}
عندما يكون هناك عدد كبير جدًا من الخيارات، يتم استخدام عبارة التبديل بشكل شائع
مثال:
التبديل (الاسم) {
حالة "جون":
...
استراحة؛
حالة "بول":
...
استراحة؛
حالة "رينغو":
...
استراحة؛
تقصير:
...
استراحة؛
}
عادة ما يكون هناك نوعان من عبارات الحلقة:
أ.للحلقة
ل(int i=0;i<3;i++){
إفادة...
}
ب.في حين حلقة
كثافة العمليات ط = 0؛
بينما (ط<3) {
Console.WriteLine(i.ToString());// الغرض من i.ToString() هو تحويل i إلى نوع سلسلة
أنا += 1;
}
9. معالجة الاستثناءات
عند كتابة البرامج، غالبًا ما نواجه أشياء لا يمكننا التنبؤ بها مسبقًا. على سبيل المثال، أخطاء إدخال المستخدم، أو عدم كفاية الذاكرة، أو عدم توفر موارد الشبكة، أو عدم توفر قواعد البيانات، وما إلى ذلك. لذلك يجب علينا استخدام أساليب معالجة الاستثناءات للتعامل مع مثل هذه المشكلات. كافة الاستثناءات في C# هي مثيلات لفئة ترث من فئة System.Exception
دعونا أولاً نقدم بيان استثناء الرمي
رمي التعبير
هذا البيان هو استثناء تم إنشاؤه عند تقييم التعبير
بيان معالجة الاستثناء:
يتم استخدام المحاولة لالتقاط الاستثناءات التي تحدث أثناء تنفيذ الكتلة.
يتم استخدام catc للتعامل مع هذا الاستثناء.
الطريقة العامة:
يحاول {
// الكود الذي قد يطرح استثناءً
} قبض على (OverflowException ه) {
// احصل على استثناء مفصل
} قبض (استثناء ه) {
// قبض على استثناء شائع
} أخيراً {
// تنفيذ التعليمات البرمجية دون استثناء
}
ألقِ نظرة على الاستثناء الذي كتبه Beibei والذي يعالج أخطاء اتصال قاعدة البيانات:
يحاول
{
OleDbConnection conn = getConn(); //getConn(): احصل على كائن الاتصال
محول OleDbDataAdapter = جديد OleDbDataAdapter();
String sqlstr="select id,title,author,pic,hits,posttime من ترتيب الملاحظات حسب وقت النشر";
mydataset= new System.Data.DataSet();
محول.SelectCommand = new OleDbCommand(sqlstr, conn);
محول.Fill(mydataset،"notes")؛
conn.Close();
}
قبض (استثناء ه)
{
رمي (استثناء جديد ("خطأ في قاعدة البيانات:" + رسالة إلكترونية))
}
10. معالجة السلسلة
في C#، السلسلة هي نوع مرجعي، لذا يمكنك استخدام الاتصال والاقتطاع
ستعرف بعد قراءة المثال أدناه!
// استخدم السلسلة
سلسلة S1؛
سلسلة s2 = "مرحبا"؛
s2 += "العالم";
s1 = s2 + "!!!";
// استخدم طريقة الإلحاق لفئة StringBuilder
StringBuilder s3 = new StringBuilder();
s3.Append("مرحبا");
s3.Append("العالم");
s3.Append("!!!");
11. التعامل مع الأحداث
الأحداث هي أعضاء في الفصل الذي يرسل إعلامات إلى العالم الخارجي.
دعونا نلقي نظرة أولاً على مثال تمثيلي لمعالجة الأحداث:
باطلة MyButton_Click(مرسل الكائن،
وسيطات الأحداث E) {
...
}
لا أعرف الكثير عن هذا، وسمعت أنه سيكون أكثر وضوحًا بعد مشاهدة MFC. إذا كان لدى أي شخص خبرة في هذا المجال، أتمنى أن تقدم لي بعض النصائح.
12. أعلن عن حدث
// أنشئ حدثًا عامًا
حدث عام EventHandler MyEvent؛
// تحديد طريقة لهذا الحدث
باطل محمي OnMyEvent(EventArgs e) {
MyEvent(this, e);
}
13. أضف OR إلى سبب التعامل مع الحدث.
Control.Change += new EventHandler(this.ChangeEventHandler);
Control.Change -= new EventHandler(this.ChangeEventHandler);
14. نوع التحويل
int i = 3;// حدد متغيرًا صحيحًا وقم بتعيين قيمة
String s = i.ToString();// تحويل عدد صحيح إلى نوع السلسلة، استخدم ToString ()
double d = Double.Parse(s);// تحويل نوع السلسلة إلى نوع مزدوج الدقة باستخدام Double.Parse(var);
هناك بعض الأشياء الأخرى التي لن أشرحها، دعنا نتعمق فيها بعد أن يكون لدينا أساس معين. على أي حال، الآن بعد أن فهمت هذه الأشياء، لن أجد مشكلة في التعامل مع المشكلات الشائعة التي تتبع ذلك.