หน้าแรก
หน้าแรก
ความแตกต่างหลัก ระหว่าง List และ IList ใน C# คือ List เป็นคลาสที่แสดงรายการของอ็อบเจ็กต์ที่สามารถเข้าถึงได้โดยดัชนี ในขณะที่ IList เป็นอินเทอร์เฟซที่แสดงถึงคอลเล็กชันของอ็อบเจ็กต์ที่สามารถเข้าถึงได้โดยดัชนี อินเทอร์เฟซ IList ใช้งานจากอินเทอร์เฟซ 2 อินเทอร์เฟซ ได้แก่ ICollection และ IEnumerable List
โดยค่าเริ่มต้น พารามิเตอร์ทั้งหมดของเมธอดเป็นสิ่งจำเป็น เมธอดที่มีพารามิเตอร์ทางเลือกจะไม่บังคับให้ส่งผ่านอาร์กิวเมนต์ ณ เวลาที่โทร หมายความว่าเราเรียก method โดยไม่ผ่านอาร์กิวเมนต์ พารามิเตอร์ทางเลือกมีค่าเริ่มต้นในการกำหนดฟังก์ชัน หากเราไม่ส่งค่าอาร์กิวเมนต์ที่ไม่บังคับ ณ เวลาโทร ค่าดีฟอลต์จะถูกใ
แอตทริบิวต์ที่ล้าสมัย ทำเครื่องหมายองค์ประกอบต่างๆ เช่น คลาส เมธอด คุณสมบัติ ฟิลด์ ผู้รับมอบสิทธิ์ และอื่นๆ อีกมากมายภายในโค้ดของเราว่าเลิกใช้แล้วหรือล้าสมัย แอตทริบิวต์ถูกอ่านในเวลารวบรวมและใช้เพื่อสร้างคำเตือนหรือข้อผิดพลาดให้กับนักพัฒนา คุณลักษณะนี้สามารถช่วยได้หากเราเคยต้องการให้แน่ใจว่าโปรแกรม
Foreach loop ใน C # ทำงานบนเธรดเดียวและการประมวลผลเกิดขึ้นตามลำดับทีละรายการ ในขณะที่ Parallel.Foreach วนซ้ำใน C # ทำงานบนหลายเธรดและการประมวลผลเกิดขึ้นในลักษณะคู่ขนาน ซึ่งหมายความว่าจะวนซ้ำทุกรายการพร้อมกันโดยไม่ต้องรอให้รายการก่อนหน้าเสร็จสิ้น การดำเนินการ Parallel.Foreach นั้นเร็วกว่า ForEach ปก
พารามิเตอร์ที่กำหนดชื่อช่วยให้เราผ่อนคลายในการจดจำหรือค้นหาลำดับของพารามิเตอร์ในรายการพารามิเตอร์ของเมธอดที่เรียก พารามิเตอร์สำหรับแต่ละอาร์กิวเมนต์สามารถระบุได้ด้วยชื่อพารามิเตอร์ NamedParameterFunction(firstName: "Hello", lastName: "World") การใช้พารามิเตอร์ที่มีชื่อใน C # เรา
ใน C# พจนานุกรมคือคอลเล็กชันทั่วไปซึ่งโดยทั่วไปจะใช้เพื่อจัดเก็บคู่คีย์/ค่า ในพจนานุกรม คีย์ไม่สามารถเป็นค่าว่างได้ แต่ค่าสามารถเป็นได้ คีย์ต้องไม่ซ้ำกัน ไม่อนุญาตให้ใช้คีย์ซ้ำ หากเราพยายามใช้คีย์ที่ซ้ำกัน คอมไพเลอร์จะส่งข้อยกเว้น ตามที่กล่าวไว้ข้างต้น ค่าในพจนานุกรมสามารถอัปเดตได้โดยใช้คีย์ เนื่อง
Globally Unique Identifier หรือ GUID แสดงถึงหมายเลขประจำตัวขนาดมหึมา ซึ่งเป็นตัวเลขที่มีขนาดใหญ่มากจนรับประกันได้ทางคณิตศาสตร์ว่าไม่ซ้ำกันในระบบเดียวเช่นฐานข้อมูล แต่ข้ามหลายระบบหรือ แอปพลิเคชันแบบกระจาย จำนวนคีย์ที่ไม่ซ้ำทั้งหมด (3.40282366×1038) มีขนาดใหญ่มากจนความน่าจะเป็นของการสร้างหมายเลขเดียวก
การแปลง Object ให้อยู่ในรูปแบบ Binary ซึ่งไม่ได้อยู่ในรูปแบบที่มนุษย์สามารถอ่านได้ เรียกว่า Binary Serialization การแปลงกลับรูปแบบไบนารีเป็นรูปแบบที่มนุษย์อ่านได้เรียกว่าดีซีเรียลไลเซชัน? เพื่อให้บรรลุการทำให้เป็นอันดับไบนารีใน C # เราต้องใช้ไลบรารี System.Runtime.Serialization.Formatters.Binary
IEnumerable มีอยู่ในเนมสเปซ System.Collections มี IQueryable อยู่ในระบบ เนมสเปซ Linq ทั้ง IEnumerable และ IQueryable เป็นคอลเล็กชันที่ส่งต่อ IEnumerable ไม่รองรับการโหลดแบบ Lazy Loading IQueryable รองรับการโหลดแบบ Lazy Loading การสืบค้นข้อมูลจากฐานข้อมูล IEnumerable ดำเนินการค้นหาแบบเลือกข้อมูลในฝั่
เมื่อใดก็ตามที่เราเขียนโค้ด C# และสร้างหรือเรียกใช้โซลูชัน จะสร้าง 2 โฟลเดอร์ - ถัง obj ถังขยะและ obj เหล่านี้มีโค้ดที่คอมไพล์แล้ว ทำไมเราถึงมี 2 โฟลเดอร์ เหตุผลคือกระบวนการคอมไพล์มี 2 ขั้นตอน กำลังรวบรวม การเชื่อมโยง ในการคอมไพล์ไฟล์แต่ละไฟล์จะถูกคอมไพล์เป็นแต่ละหน่วย ไฟล์ที่คอมไพล์เหล่านี
ในโหมดดีบัก Visual Studio และโหมดรีลีสเป็นการกำหนดค่าที่แตกต่างกันสำหรับการสร้างโปรเจ็กต์ .Net ของคุณ เลือกโหมดดีบั๊กสำหรับการดีบักทีละขั้นตอน โปรเจ็กต์ .Net และเลือกโหมดรีลีสสำหรับบิลด์สุดท้ายของไฟล์แอสเซมบลี (.dll หรือ .exe) โหมดดีบักไม่ได้เพิ่มประสิทธิภาพไบนารีที่สร้างขึ้นเนื่องจากความสัมพันธ์ร
เหตุการณ์ทำให้คลาสหรือออบเจ็กต์สามารถแจ้งเตือนคลาสหรือออบเจกต์อื่นเมื่อมีบางสิ่งที่น่าสนใจเกิดขึ้น คลาสที่จัดกิจกรรมเรียกว่าผู้เผยแพร่และคลาสที่จัดการกิจกรรมจะเรียกว่าสมาชิก ภายในงาน เหตุการณ์สามารถมีสมาชิกได้หลายคน สมาชิกสามารถจัดการหลายเหตุการณ์จากผู้เผยแพร่หลายราย กิจกรรมที่ไม่มีผู้ติดตามจะไม
Order by ใช้เรียงลำดับอาร์เรย์จากน้อยไปมากหรือจากมากไปหาน้อย ตัวดำเนินการ GroupBy อยู่ในหมวดตัวดำเนินการจัดกลุ่ม โอเปอเรเตอร์นี้ใช้ลำดับรายการแบบเรียบๆ จัดระเบียบลำดับนั้นออกเป็นกลุ่ม (IGrouping) ตามคีย์เฉพาะและกลุ่มส่งคืนของลำดับ ตัวอย่าง คลาส ElectronicGoods { รหัส int สาธารณะ { รับ; ชุด; } ชื่อส
สมาชิกอินเทอร์เฟซ C# สามารถใช้งานได้ทั้งโดยชัดแจ้งหรือโดยปริยาย การใช้งานโดยนัยไม่รวมชื่อของอินเทอร์เฟซที่ใช้งานก่อนชื่อสมาชิก ดังนั้นคอมไพเลอร์จึงสรุปสิ่งนี้ สมาชิกจะถูกเปิดเผยต่อสาธารณะและจะสามารถเข้าถึงได้เมื่อวัตถุถูกหล่อเป็นแบบคอนกรีต การเรียกใช้เมธอดก็ไม่ต่างกัน เพียงสร้างวัตถุของชั้นเรียนแล
dll - ไลบรารีลิงก์แบบไดนามิก ถ้าแอสเซมบลีถูกคอมไพล์เป็นไลบรารีคลาสและจัดเตรียมประเภทสำหรับแอสเซมบลีอื่น ๆ ที่จะใช้ แอสเซมบลีนั้นจะมีนามสกุลไฟล์ .dll (ไดนามิกลิงก์ไลบรารี) ไม่สามารถเรียกใช้ DLL แบบสแตนด์อโลนได้ ไม่สามารถเรียกใช้ DLL โดยตรง เนื่องจากได้รับการออกแบบให้โหลดและเรียกใช้โดยโปรแกรมอื่น
คงที่ คงที่คือคำหลัก สแตติกคลาสมีได้เฉพาะสมาชิกสแตติก วัตถุคงที่ถูกเก็บไว้ในสแต็ก สแตติกไม่สามารถใช้อินเทอร์เฟซ สืบทอดจากคลาสอื่น ซิงเกิลตัน ซิงเกิลตันเป็นรูปแบบการออกแบบ ซิงเกิลตันคือรูปแบบการสร้างอ็อบเจ็กต์ที่มีอินสแตนซ์หนึ่งของคลาส Singleton สามารถใช้อินเทอร์เฟซ สืบทอดจากคลาสอื่น และสอดคล้องกั
รูปแบบซิงเกิลตันอยู่ในรูปแบบประเภทการสร้าง รูปแบบการออกแบบ Singleton จะใช้เมื่อเราต้องการให้แน่ใจว่ามีเพียงวัตถุเดียวของคลาสใดที่สร้างอินสแตนซ์ อินสแตนซ์เดียวที่สร้างขึ้นนั้นมีหน้าที่ประสานงานการดำเนินการทั่วทั้งแอปพลิเคชัน ในฐานะที่เป็นส่วนหนึ่งของแนวทางการนำไปใช้ เราจำเป็นต้องตรวจสอบให้แน่ใจว่าม
ประเภทของ() ประเภทใช้ Type และส่งกลับประเภทของอาร์กิวเมนต์ GetType() เมธอด GetType() ของคลาสอาร์เรย์ใน C# รับประเภทของอินสแตนซ์ปัจจุบัน คือ คีย์เวิร์ด คือ ใช้เพื่อตรวจสอบว่าวัตถุนั้นสามารถแคสต์เป็นประเภทใดประเภทหนึ่งได้หรือไม่ ประเภทการส่งคืนของการดำเนินการคือบูลีน ตัวอย่าง class Demo { } class
Enum Flags ใช้สำหรับรับตัวแปรการแจงนับและอนุญาตให้เก็บค่าได้หลายค่า ควรใช้เมื่อใดก็ตามที่ enum แสดงถึงคอลเล็กชันของแฟล็ก แทนที่จะแสดงค่าเดียว ใช้ FlagsAttribute สำหรับการแจงนับเฉพาะในกรณีที่การดำเนินการระดับบิต (AND, OR, EXCLUSIVE OR) ถูกดำเนินการกับค่าตัวเลข กำหนดค่าคงที่การแจงนับในยกกำลังสอง นั่
สำเนาลึกทำซ้ำทุกอย่าง สำเนาลึกของคอลเลกชั่นคือคอลเลกชั่นสองคอลเลกชั่นโดยที่องค์ประกอบทั้งหมดในคอลเลกชั่นดั้งเดิมซ้ำกัน Deep Copy ใช้สำหรับสร้างสำเนาแบบลึกที่สมบูรณ์ของประเภทการอ้างอิงภายใน กล่าวอีกนัยหนึ่งสำเนาลึกเกิดขึ้นเมื่อวัตถุถูกคัดลอกพร้อมกับวัตถุที่อ้างถึง ตัวอย่าง class DeepCopy { &