หน้าแรก
หน้าแรก
Int32 เป็นประเภทที่จัดทำโดย .NET framework ในขณะที่ int เป็นนามแฝงสำหรับ Int32 ในภาษา C# Int32 x =5; int x =5; ดังนั้น ในการใช้งานทั้งสองคำสั่งข้างต้นจะมีจำนวนเต็ม 32 บิต โดยคอมไพล์เป็นโค้ดเดียวกัน ดังนั้น ณ เวลาดำเนินการจึงไม่มีความแตกต่างใดๆ ความแตกต่างเพียงเล็กน้อยคือ Int32 สามารถใช้ได้กั
มันคือ null-coalescing โอเปอเรเตอร์ ตัวดำเนินการ null-coalescing ?? ส่งกลับค่าของตัวถูกดำเนินการทางซ้ายถ้าไม่เป็นค่าว่าง มิฉะนั้น จะประเมินตัวถูกดำเนินการทางขวาและส่งคืนผลลัพธ์ ที่ ?? โอเปอเรเตอร์จะไม่ประเมินตัวถูกดำเนินการทางขวา หากตัวถูกดำเนินการทางซ้ายประเมินว่าไม่ใช่ค่าว่าง ประเภทที่เป็นค่าว่า
ทำเครื่องหมายสตริงเป็น ตัวอักษรสตริงแบบต่อคำ . ใน C # สตริงคำต่อคำจะถูกสร้างขึ้นโดยใช้สัญลักษณ์พิเศษ @ @ เรียกว่าตัวระบุคำต่อคำ หากสตริงมี @ เป็นคำนำหน้าตามด้วยเครื่องหมายคำพูดคู่ คอมไพเลอร์จะระบุสตริงนั้นเป็นสตริงคำต่อคำและคอมไพล์สตริงนั้น ข้อได้เปรียบหลักของสัญลักษณ์ @ คือการบอกให้ตัวสร้างสตริงละ
ตัวแก้ไขการเข้าถึงใช้เพื่อระบุขอบเขตของความสามารถในการเข้าถึงของสมาชิกของคลาสหรือประเภทของคลาสเอง ตัวปรับแต่งการเข้าถึงมีหกประเภท สาธารณะ ส่วนตัว ป้องกัน ภายใน ป้องกันภายใน การป้องกันส่วนตัว ตัวแก้ไขการเข้าถึงสาธารณะ ออบเจ็กต์ที่ใช้ตัวแก้ไขการเข้าถึงสาธารณะสามารถเข้าถึงได้จากทุก
วิธีการในภาษา C# โดยทั่วไปจะเป็นบล็อกของรหัสหรือข้อความสั่งในโปรแกรมที่ช่วยให้ผู้ใช้สามารถนำรหัสเดิมกลับมาใช้ใหม่ได้ ซึ่งท้ายที่สุดแล้วจะช่วยประหยัดการใช้หน่วยความจำที่มากเกินไป ซึ่งช่วยประหยัดเวลา และที่สำคัญกว่านั้นคือช่วยให้อ่านโค้ดได้ง่ายขึ้น อาจมีบางสถานการณ์ที่ผู้ใช้ต้องการเรียกใช้เมธอด แต่บาง
ความแตกต่างหลักคือ StringBuilder เปลี่ยนแปลงได้ ในขณะที่ สตริงไม่เปลี่ยนรูป สตริงนั้นเปลี่ยนไม่ได้, ไม่เปลี่ยนรูปหมายความว่าถ้าคุณสร้างวัตถุสตริง คุณจะไม่สามารถแก้ไขมันได้ และสร้างวัตถุประเภทสตริงใหม่ในหน่วยความจำเสมอ ในทางกลับกัน StringBuilder นั้นไม่แน่นอน หมายความว่า หากเราสร้างวัตถุตัวสร้างสต
Interface method เป็นสัญญากับโลกภายนอกซึ่งระบุว่าคลาสที่ใช้อินเทอร์เฟซนี้ทำหน้าที่บางอย่าง สมาชิกของส่วนต่อประสานนั้นเปิดเผยต่อสาธารณะเสมอ เนื่องจากจุดประสงค์ของอินเทอร์เฟซคือเพื่อให้ประเภทอื่นเข้าถึงคลาสหรือโครงสร้างได้ อินเทอร์เฟซสามารถมีตัวระบุการเข้าถึง เช่น การป้องกันหรือภายใน เป็นต้น ดังนั้น
ใน c# สามารถคืนค่าได้หลายค่าโดยใช้วิธีการด้านล่าง - พารามิเตอร์อ้างอิง พารามิเตอร์เอาต์พุต การส่งคืนอาร์เรย์ การคืนทูเพิล พารามิเตอร์อ้างอิง ตัวอย่าง class Program{ static int ReturnMultipleValuesUsingRef(int firstNumber, ref int secondNumber){ secondN
ใน C# 5.0 และก่อนหน้าเพื่อให้ค่าคุณสมบัติอัตโนมัติที่เราต้องทำในตัวสร้าง ตัวสร้างจะถูกเรียกโดยอัตโนมัติเมื่อคลาสสร้างอินสแตนซ์และค่าจะถูกตั้งค่า หลังจาก C#5.0 มีวิธีใหม่ในการให้ค่าคุณสมบัติ auto ซึ่งคล้ายกับการกำหนดค่าให้กับตัวแปร ตัวอย่าง Set Value in Constructor class Demo{ public D
ทูเพิลถูกใช้เมื่อคุณต้องการคืนค่าหลายค่าจากเมธอดโดยไม่ต้องใช้พารามิเตอร์ ref หรือ out ทูเปิลส์ใช้เพื่อส่งผ่านค่าหลายค่าไปยังเมธอดผ่านพารามิเตอร์ตัวเดียว ทูเพิลยังสามารถซ้อนกันได้ ตัวอย่าง ส่งทูเพิลเป็นพารามิเตอร์ <โปรแกรมคลาสล่วงหน้า{ โมฆะคงที่ DisplayTupleValues(Tuple dummy){ Console.WriteLine($I
ตัวสร้างแบบคงที่จะถูกเรียกโดยอัตโนมัติก่อนที่จะสร้างอินสแตนซ์แรกหรืออ้างอิงสมาชิกแบบคงที่ ตัวสร้างแบบคงที่ใช้เพื่อเริ่มต้นข้อมูลแบบคงที่หรือเพื่อดำเนินการเฉพาะที่ต้องทำเพียงครั้งเดียวเท่านั้น ใน c# อนุญาตให้สร้างคอนสตรัคเตอร์แบบคงที่เพียงตัวเดียวเท่านั้น ตัวสร้างแบบคงที่มีคุณสมบัติดังต่อไปนี้ -
ใช้ประโยชน์จากสิ่งนี้ คีย์เวิร์ดใน c # เพื่อเรียกคอนสตรัคเตอร์ตัวหนึ่งจากคอนสตรัคเตอร์อื่น ในการเรียก Constructor ที่มีอยู่ในคลาสพาเรนต์ให้ใช้ base คีย์เวิร์ด ตัวอย่าง class Demo{ public Demo(){ System.Console.WriteLine("Parameter less constructor called"
ในตัวอย่างนี้มีการสร้างคลาสสาธิตแบบคงที่และประกาศจำนวนตัวแปรคงที่ ที่นี่ตัวแปรการนับถือเป็นตัวแปรส่วนกลาง ดังนั้นในตัวอย่างจึงเพิ่มขึ้นเรื่อยๆ เนื่องจากมีการสร้างอินสแตนซ์เพียงอินสแตนซ์เดียวของคลาส ตัวอย่าง static class Demo{ public static int count; static Demo(){
ตัวดำเนินการ Select จะสร้างค่าผลลัพธ์หนึ่งค่าสำหรับทุกๆ ต้นทาง SelectMany Operator อยู่ในหมวด Projection Operators ใช้เพื่อฉายแต่ละองค์ประกอบของลำดับเป็น IEnumerable และทำให้ลำดับผลลัพธ์เป็นลำดับเดียว ตัวอย่าง class Demo{ public string Name { get; set; } public List<stri
ใน c# Destructor เป็นวิธีการพิเศษของคลาสและใช้ในคลาสเพื่อทำลายวัตถุหรืออินสแตนซ์ของคลาส ภายในคลาสมีตัวทำลายล้างได้เพียงตัวเดียว ต่อไปนี้เป็นคุณสมบัติของ destructor ใน c# ตัวทำลายจะไม่รับพารามิเตอร์ใด ๆ ตัวทำลายจะเริ่มต้นด้วยสัญลักษณ์ตัวหนอน (~) ตัวทำลายล้าง (~) ไม่สามารถกำหนดได้ในโครงสร้า
ใช้ประโยชน์จากสิ่งนี้ คีย์เวิร์ดใน c# เพื่อเรียกคอนสตรัคเตอร์ตัวหนึ่งจากคอนสตรัคเตอร์อื่น เมื่อต้องการเรียกคอนสตรัคเตอร์ที่มีอยู่ในคลาสพาเรนต์ให้ใช้ base คีย์เวิร์ด ตัวอย่าง ในการเรียก Constructor ที่อยู่ในคลาสอื่นให้ใช้คีย์เวิร์ดพื้นฐาน class DemoBase{ public DemoBase(int firstNumber,
สร้างโซลูชัน สิ่งนี้จะทำการสร้างแบบเพิ่มหน่วย กล่าวคือจะสร้างเฉพาะไฟล์โค้ดที่มีการเปลี่ยนแปลง หากพวกเขาไม่ได้เปลี่ยนแปลงไฟล์เหล่านั้นจะไม่ถูกแตะต้อง รวบรวมไฟล์โค้ด (DLL และ EXE) ที่มีการเปลี่ยนแปลง สร้างโซลูชันใหม่ การดำเนินการนี้จะลบไฟล์ที่คอมไพล์ทั้งหมดในปัจจุบัน (เช่น exe และ DLL) และจะสร้างทุก
ยูเนี่ยน Union รวมคอลเล็กชันหลายคอลเล็กชันเป็นคอลเล็กชันเดียวและส่งคืนคอลเล็กชันที่เป็นผลลัพธ์ด้วยองค์ประกอบที่ไม่เหมือนใคร ทางแยก Intersect ส่งคืนองค์ประกอบลำดับซึ่งเป็นเรื่องธรรมดาในทั้งสองลำดับอินพุต ยกเว้น ยกเว้นส่งคืนองค์ประกอบลำดับจากลำดับอินพุตแรกที่ไม่มีอยู่ในลำดับอินพุตที่สอง ตัวอย่าง cl
หากคลาสใช้อินเทอร์เฟซสองอินเทอร์เฟซที่มีสมาชิกที่มีลายเซ็นเดียวกัน การใช้งานสมาชิกนั้นในคลาสจะทำให้อินเทอร์เฟซทั้งสองใช้สมาชิกนั้นในการนำไปใช้ เป็นไปได้ที่จะใช้สมาชิกอินเทอร์เฟซอย่างชัดเจน—สร้างสมาชิกคลาสที่ถูกเรียกผ่านอินเทอร์เฟซเท่านั้น และเฉพาะสำหรับอินเทอร์เฟซนั้น ตัวอย่าง interface ICar{  
เสร็จสิ้น Finalize() ถูกเรียกโดย Garbage Collector ก่อนที่อ็อบเจ็กต์ที่มีสิทธิ์ได้รับการรวบรวมจะถูกเรียกคืน ตัวรวบรวมขยะจะรับผิดชอบในการจัดสรรคืนหน่วยความจำสำหรับอ็อบเจ็กต์ที่ไม่ได้อ้างอิง Garbage Collector เรียกวิธีนี้ในบางจุดหลังจากที่ไม่มีการอ้างอิงที่ถูกต้องไปยังวัตถุนั้นในหน่วยความจำอีกต่อไป