เรียนรู้ความรู้พื้นฐาน c# ที่ ASP.NET ต้องการ
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-12-05 14:52:37
-
หนังสือเรียนตัวอย่างของ Microsoft พูดถึงสามภาษา: c#, vb และ Jscript เพื่อให้ทุกคนเรียนรู้สิ่งใหม่ มาเรียนรู้ c# กัน เป็นการดีที่สุดที่จะมีความรู้พื้นฐานเกี่ยวกับ C ++
แต่ไม่สำคัญว่าคุณไม่มีมัน คุณแค่ต้องใช้ความพยายามเพิ่มขึ้นอีกเล็กน้อย
ภาษาใด ๆ มีสองส่วน:
ข้อมูล + ไวยากรณ์ + อัลกอริทึม
ข้อมูลถูกใช้เพื่อแสดงข้อมูล และใช้ไวยากรณ์เพื่อควบคุมข้อมูล พูดตรงไปตรงมา อัลกอริธึมเป็นวิธีคิดบางอย่างที่ผู้คนสรุปไว้เพื่อแก้ไขปัญหา ในส่วนของข้อมูล โดยปกติแล้วจะต้องมีโครงสร้างข้อมูล จากนั้นก็มีการสืบค้น การแทรก การแก้ไข ฯลฯ
1. แน่นอนว่าตัวแปรถูกใช้เพื่อจัดเก็บข้อมูล ตอนนี้เรามาพูดถึงวิธีการประกาศใน C# กันดีกว่า!
วิธีปกติคือ:
พิมพ์ + ชื่อตัวแปร
int x //กำหนดตัวแปรจำนวนเต็ม
ชื่อสตริง,pwd; //กำหนดตัวแปรอักขระสองตัว
วัตถุ x; //กำหนดวัตถุ
วัตถุ obj=วัตถุใหม่();//สร้างอินสแตนซ์ตามวัตถุ
สตริงสาธารณะ x;//เพิ่มตัวแก้ไขประเภทให้กับตัวแปรอักขระเพื่อให้ผู้ใช้ทุกคนสามารถเข้าถึงได้
เพื่ออธิบาย:
เมื่อประกาศตัวแปร ให้ใช้ตัวพิมพ์เล็กสำหรับพิมพ์คำเช่น int string object เนื่องจาก c# คำนึงถึงขนาดตัวพิมพ์อย่างเคร่งครัด การใช้ INT x ในการกำหนดตัวแปรถือเป็นความผิด
มาดูสองโปรแกรมกัน:
/* เรียนรู้วิธีการประกาศตัวแปร
สร้างโดยคนเร่ร่อน */
ใช้ระบบ;
การทดสอบในชั้นเรียน
{ โมฆะคงที่ Main()
{ อินท์ x=3;
Console.WriteLine("x={0}",x);
ชื่อสตริง = "คนจรจัด";
สตริง pwd="197926";
Console.WriteLine("ชื่อของคุณคือ :{0};pwd คือ {1}",ชื่อ,pwd);
วัตถุ y;
y=x;//การแปลงที่ชัดเจน
Console.WriteLine("y={0}",y);
-
-
2. ส่งอักขระไปยังเบราว์เซอร์:
ข้างต้นเป็นเรื่องเกี่ยวกับการใช้ System.Console.WriteLine เพื่อส่งออกค่าของตัวแปรใน C# แต่ใน ASP.NET คุณยังจำเป็นต้องใช้เมธอด Response.Write("char") ของวัตถุ Response แต่คุณไม่สามารถละเว้นได้ วงเล็บในขณะนี้
ตัวอย่าง:
<%@ ภาษา = "C#" %>
<% ชื่อสตริง;
ชื่อ = "คนเร่ร่อน";
Response.Write("ชื่อของคุณคือ "+ชื่อ);
-
3. เข้าถึงค่าของแอตทริบิวต์ดัชนี (นำองค์ประกอบในรูปแบบเป็นตัวอย่าง)
เพื่อนที่ได้เรียนรู้ asp รู้ว่าคุณสามารถใช้ Requst.Form("object name") เพื่อแยกค่าของ form object ได้ แต่ใน asp.net ให้ใช้ Request.QueryString["name"] เพื่อแตกค่าออกมา
4. ประกาศแอตทริบิวต์ดัชนี
ใน asp.net เราจำเป็นต้องเรียนรู้แนวคิดการเขียนโปรแกรมเหตุการณ์และตัวบ่งชี้ดัชนี ด้วยตัวชี้ดัชนีเราสามารถเข้าถึงข้อมูลข้อมูลของคลาสได้เหมือนกับอาร์เรย์ เรามาสร้างตัวอย่างง่ายๆ ก่อน:
ใช้ระบบ;
คลาสทีม
-
string[] s_name=new string[3]{"vagrant","jack","rose"};//กำหนดฟิลด์ของคลาส จากนั้นเขียนฟังก์ชัน Constructor เพื่อให้สามารถเข้าถึงคลาสภายนอกได้ผ่านดัชนี
สตริงสาธารณะ this[int nIndex]//การประกาศดัชนีการเข้าถึง
-
รับ {
return s_name[nIndex];//ให้การเข้าถึงการอ่านระดับต่างประเทศ
-
ชุด {
s_name[nIndex]=value;//ให้สิทธิ์ในการเขียนคลาสต่างประเทศ
-
-
-
การทดสอบในชั้นเรียน
-
โมฆะคงที่สาธารณะ Main() {
ทีม t1=ทีมใหม่();//สร้างอินสแตนซ์ของคลาสทีม
สำหรับ(int i=0;i<3;i++)
Console.WriteLine(t1[i]);//เข้าถึงข้อมูลข้อมูลของอินสแตนซ์ผ่านตัวบ่งชี้ดัชนี
-
-
5. กำหนดและเริ่มต้นข้อมูล
เมื่อเราประมวลผลข้อมูลแบทช์ เรามักจะใช้อาร์เรย์เมื่อกำหนดอาร์เรย์ เราต้องพิจารณาสามประเด็น: ประเภท ชื่อข้อมูล และมิติ
ผมขอใช้ข้อมูลมิติเดียวเป็นตัวอย่าง
กำหนดอาร์เรย์:
สตริงชื่อนักเรียน[]=สตริงใหม่[50];
การเริ่มต้น:
วิธีที่หนึ่ง
ชื่อนักศึกษา[0]="คนจรจัด";
ชื่อนักศึกษา[1]="แจ็ค";
-
วิธีที่สอง
int[] sex=new int[2]{0,1};//0 หมายถึงชาย 1 หมายถึงหญิง
นี่เป็นเรื่องง่ายที่จะเข้าใจและฉันจะไม่อธิบาย
6. โครงสร้างและการแจงนับ
เหตุผลที่ฉันพูดถึงโครงสร้างและการแจงนับร่วมกันก็เพราะพวกเขามีความเหมือนและความแตกต่าง
โครงสร้าง: คอลเลกชันของข้อมูลที่เกี่ยวข้องที่สร้างเป็นเอนทิตีเดียว สมุดที่อยู่มักจะประกอบด้วย: ชื่อ หมายเลขโทรศัพท์ ที่อยู่ ฯลฯ
การแจงนับ: ชุดข้อมูลที่แยกออกไม่ได้ตามหลักตรรกะ ตัวอย่างเช่น มีวันตั้งแต่วันจันทร์ถึงวันอาทิตย์ในสัปดาห์ แต่วันจันทร์ถึงวันอาทิตย์แยกกันไม่ออกตามหลักเหตุผล
ทั้งสองมีความแตกต่างกัน โครงสร้างคือการรวบรวมข้อมูล ในขณะที่การแจงนับสามารถรับได้ครั้งละหนึ่งรายการเท่านั้น โครงสร้างและการแจงนับเป็นโครงสร้างข้อมูลทั้งสองประเภท
กำหนดประเภทข้อมูลโครงสร้าง:
โครงสร้างสมุดโทรศัพท์ {
ชื่อสตริงสาธารณะ
โทรศัพท์สายสาธารณะ
ที่อยู่สตริงสาธารณะ
-
กำหนดตัวแปรของโครงสร้างประเภทนี้
สมุดโทรศัพท์ p1;
กำหนดค่าให้กับสมาชิกแต่ละคนของตัวแปรโครงสร้าง
p1.name="คนจรจัด";
p1.phone="88888888";
p1.address="หวู่ฮั่น";
กำหนดชนิดข้อมูลการแจงนับและกำหนดค่า
//กำหนดประเภทการแจงนับ
MessageSize สาธารณะ enum {
เล็ก = 0,
ปานกลาง = 1,
ใหญ่ = 2
-
//สร้างตัวแปรประเภทการแจงนับ
MessageSize สาธารณะ msgsize;
//กำหนดค่าให้กับตัวแปรนี้
msgsize = เล็ก;
7. ประกาศและใช้วิธีการ
//กำหนดฟังก์ชันที่ไม่มีค่าส่งคืน
เป็นโมฆะ voidfunction() {
-
-
//ประกาศฟังก์ชันย่อยด้วยค่าที่ส่งคืน
สตริง stringfunction() {
-
return (String) val;//(string) ระบุประเภทการส่งคืน
-
//ประกาศฟังก์ชันที่สามารถคำนวณได้
สตริง parmfunction (สตริง a, สตริง b) {
-
กลับ (สตริง) (a + b);
-
// ใช้ฟังก์ชั่น
ฟังก์ชั่นเป็นโมฆะ();
สตริง s1 = ฟังก์ชันสตริง();
สตริง s2 = parmfunction("สวัสดี", "โลก!");
8. คำชี้แจงการควบคุมกระบวนการ
ไม่มีความแตกต่างกันมากนักระหว่างคำสั่งควบคุมการไหลใน C# และ C++ เป็นเพียงการเพิ่ม foreach ให้กับ C# (ซึ่งโปรแกรมเมอร์ vb ควรจะคุ้นเคย)
สิ่งที่แย่ที่สุดเกี่ยวกับการควบคุมกระบวนการคือการเลือกและการวนซ้ำ
การใช้คำสั่ง if แบบมีเงื่อนไข:
ถ้า(Requery.QueryString["ชื่อ"]==null){
คำแถลง....
-
เมื่อมีตัวเลือกมากเกินไป มักใช้คำสั่ง switch
ตัวอย่าง:
สวิตช์ (ชื่อ) {
กรณี "จอห์น" :
-
หยุดพัก;
กรณี "พอล" :
-
หยุดพัก;
กรณี "ริงโก้" :
-
หยุดพัก;
ค่าเริ่มต้น:
-
หยุดพัก;
-
โดยปกติจะมีคำสั่งวนซ้ำสองประเภท:
ก. สำหรับการวนซ้ำ
สำหรับ (int i=0; i<3; i++){
คำแถลง...
-
b.ขณะวนซ้ำ
int i = 0;
ในขณะที่ (i<3) {
Console.WriteLine(i.ToString());//จุดประสงค์ของ i.ToString() คือการแปลง i ให้เป็นประเภทสตริง
ฉัน += 1;
-
9.การจัดการข้อยกเว้น
ในการเขียนโปรแกรมเรามักจะเจอกับสิ่งที่เราไม่สามารถคาดเดาล่วงหน้าได้ ตัวอย่างเช่น ข้อผิดพลาดในการป้อนข้อมูลของผู้ใช้ หน่วยความจำไม่เพียงพอ ทรัพยากรเครือข่ายไม่พร้อมใช้งาน ฐานข้อมูลไม่พร้อมใช้งาน ฯลฯ ดังนั้นเราจึงควรใช้วิธีจัดการข้อยกเว้นเพื่อจัดการกับปัญหาดังกล่าว ข้อยกเว้นทั้งหมดใน C# คืออินสแตนซ์ของคลาส ซึ่งสืบทอดมาจากคลาส System.Exception
ก่อนอื่นเรามาแนะนำคำสั่งยกเว้นการโยนก่อน
โยนการแสดงออก
คำสั่งนี้เป็นข้อยกเว้นที่เกิดขึ้นเมื่อประเมินนิพจน์
คำสั่งการจัดการข้อยกเว้น:
try ใช้เพื่อตรวจจับข้อยกเว้นที่เกิดขึ้นระหว่างการดำเนินการบล็อก
cathc ใช้เพื่อจัดการกับข้อยกเว้นนี้
วิธีการทั่วไป:
พยายาม {
//โค้ดที่อาจทำให้เกิดข้อยกเว้น
} จับ (OverflowException จ) {
//จับข้อยกเว้นโดยละเอียด
} จับ (ข้อยกเว้นจ) {
//จับข้อยกเว้นทั่วไป
} ในที่สุด {
//รันโค้ดโดยไม่มีข้อยกเว้น
-
ดูข้อยกเว้นที่เขียนโดย Beibei ซึ่งจัดการข้อผิดพลาดในการเชื่อมต่อฐานข้อมูล:
พยายาม
-
OleDbConnection conn = getConn(); //getConn(): รับวัตถุการเชื่อมต่อ
อะแดปเตอร์ OleDbDataAdapter = ใหม่ OleDbDataAdapter();
string sqlstr="select id,title,author,pic,hits,posttime จากบันทึกย่อตามลำดับเวลาภายหลัง";
mydataset= ใหม่ System.Data.DataSet();
อะแดปเตอร์ SelectCommand = OleDbCommand ใหม่ (sqlstr, conn);
อะแดปเตอร์เติม (mydataset, "บันทึกย่อ");
conn.ปิด();
-
จับ (ยกเว้น e)
-
โยน (ข้อยกเว้นใหม่ ("ข้อผิดพลาดของฐานข้อมูล:" + e.Message))
-
10. การประมวลผลสตริง
ใน C# สตริงเป็นประเภทอ้างอิง ดังนั้นคุณสามารถใช้การเชื่อมต่อและการตัดทอนได้
คุณจะรู้หลังจากอ่านตัวอย่างด้านล่าง!
// ใช้สตริง
สตริง s1;
สตริง s2 = "สวัสดี";
s2 += "โลก";
s1 = s2 + "!!!";
//ใช้เมธอด Append ของคลาส StringBuilder
StringBuilder s3 = StringBuilder ใหม่ ();
s3.ผนวก("สวัสดี");
s3.ผนวก("โลก");
s3.ผนวก("!!!");
11.การจัดการเหตุการณ์
กิจกรรมเป็นสมาชิกของชั้นเรียนที่ส่งการแจ้งเตือนไปยังโลกภายนอก
ก่อนอื่น มาดูตัวอย่างที่เป็นตัวแทนของการประมวลผลเหตุการณ์กันก่อน:
เป็นโมฆะ MyButton_Click (ผู้ส่งวัตถุ
EventArgs E) {
-
-
ฉันไม่ค่อยรู้เรื่องนี้มากนักฉันได้ยินมาว่าหลังจากดู MFC จะชัดเจนขึ้น ถ้าใครมีประสบการณ์ในด้านนี้ฉันหวังว่าคุณจะช่วยแนะนำฉันได้บ้าง
12. ประกาศเหตุการณ์
//สร้างกิจกรรมสาธารณะ
กิจกรรมสาธารณะ EventHandler MyEvent;
//กำหนดวิธีการสำหรับเหตุการณ์นี้
โมฆะที่ได้รับการป้องกัน OnMyEvent (EventArgs e) {
MyEvent(นี่,จ);
-
13. เพิ่ม OR ลงในสาเหตุเพื่อจัดการเหตุการณ์
Control.Change += ใหม่ EventHandler (this.ChangeEventHandler);
Control.Change -= EventHandler ใหม่ (this.ChangeEventHandler);
14.การแปลงประเภท
int i = 3;//กำหนดตัวแปรจำนวนเต็มและกำหนดค่า
String s = i.ToString();//แปลงจำนวนเต็มเป็นประเภทสตริง ให้ใช้ ToString()
double d = Double.Parse(s);//แปลงประเภทสตริงเป็นประเภทความแม่นยำสองเท่าโดยใช้ Double.Parse(var);
มีบางอย่างที่ฉันจะไม่อธิบาย เรามาเจาะลึกพวกเขาหลังจากที่เรามีรากฐานที่แน่นอนแล้ว อย่างไรก็ตาม ตอนนี้ฉันเข้าใจสิ่งเหล่านี้แล้ว ฉันจะไม่มีปัญหาในการจัดการกับปัญหาทั่วไปที่ตามมา