1. คลาสจะถูกจัดเก็บไว้ในฮีป วิธีนี้สามารถรับประกันความยืดหยุ่นของวงจรชีวิตของข้อมูลที่ออก แม้ว่าจะมีการสูญเสียประสิทธิภาพบางส่วนเนื่องจากการเพิ่มประสิทธิภาพของฮีปที่มีการจัดการ แต่การสูญเสียก็ค่อนข้างน้อย
แต่บางครั้งเราต้องการเพียงโครงสร้างข้อมูลที่ค่อนข้างเล็กเท่านั้น เราก็จะสามารถพิจารณาใช้โครงสร้างนั้นได้
ชอบ
หน้าต่างชั้นเรียนแบบฟอร์ม
-
สาธารณะ int ซ้าย;
สิทธิสาธารณะ int;
-
คลาสดังกล่าวซึ่งมีหน่วยเก็บข้อมูลเพียงสองรายการจะต้องจัดการกับตัวแปรทั้งสองนี้เท่านั้น จากนั้นก็สามารถกำหนดเป็นโครงสร้างได้
หน้าต่างโครงสร้างแบบฟอร์ม
-
สาธารณะ int ซ้าย;
สิทธิสาธารณะ int;
windowForm (int ซ้าย, int ขวา)
-
นี่ซ้าย = ซ้าย;
นี่.ขวา = ขวา;
-
ชุดโมฆะสาธารณะ ()
-
Console.WriteLine ("ซ้าย:" + ซ้าย + "ขวา:" + ขวา);
-
-
ด้วยวิธีนี้ โครงสร้างที่มีตัวสร้างสามารถหลีกเลี่ยงปัญหาและปัญหาด้านประสิทธิภาพในการกำหนดสิ่งเหล่านั้นในคิวได้
โครงสร้างยังสามารถกำหนดคุณสมบัติ ฯลฯ
2. โครงสร้างเป็นประเภทค่าที่จัดเก็บไว้ในสแต็กหรืออินไลน์
ดังต่อไปนี้: วิธี Set ทั้งสองจะประมวลผลโครงสร้างเดียวกันและไม่สามารถเปลี่ยนค่าของ Left ได้
โปรแกรมชั้นเรียน
-
โมฆะคงที่หลัก (สตริง [] args)
-
windowForm win = รูปแบบหน้าต่างใหม่ ();
win.set();
เปลี่ยน(ชนะ);
win.set();
คอนโซล.อ่าน();
-
โมฆะคงที่การเปลี่ยนแปลง (ชนะรูปแบบหน้าต่าง)
-
ชนะ.ซ้าย = 1;
-
-
3. โครงสร้างไม่สามารถสืบทอดได้
4. ตัวสร้างของโครงสร้างคือตัวสร้างแบบไม่มีพารามิเตอร์ที่คอมไพลเลอร์จัดเตรียมไว้ให้ และคุณไม่สามารถกำหนดตัวใหม่เพื่อแทนที่ได้
5. โครงสร้างส่วนใหญ่จะใช้สำหรับโครงสร้างข้อมูลที่เล็กกว่า หากมีขนาดใหญ่เกินไป ประสิทธิภาพการทำงานจะลดลง
6. เมื่อส่งโครงสร้างเป็นพารามิเตอร์ ให้ใช้คีย์เวิร์ด ref มิฉะนั้นเนื้อหาใหม่จะถูกคัดลอกทุกครั้ง ทำให้สิ้นเปลืองประสิทธิภาพโดยไม่จำเป็น
7. เมื่อโครงสร้างหนึ่งถูกกำหนดให้กับอีกโครงสร้างหนึ่ง เนื่องจากโครงสร้างนั้นเป็นประเภทที่ไม่อ้างอิง จะมีการทำสำเนาทั้งหมดทุกครั้ง และชั้นเรียน