ใช้เพื่อนำเข้าเนมสเปซ (หรือสร้างนามแฝงสำหรับเนมสเปซหรือประเภท)
สิ่งเหล่านี้จะไปที่ด้านบนสุดของไฟล์ ก่อนการประกาศใดๆ
using System; using System.IO; using WinForms = global::System.Windows.Forms; using WinButton = WinForms::Button;
คำสั่ง use ช่วยให้แน่ใจว่า Dispose() ถูกเรียกแม้ว่าข้อยกเว้นจะเกิดขึ้นเมื่อคุณสร้างอ็อบเจ็กต์และเมธอดการเรียก คุณสมบัติ และอื่นๆ Dispose() เป็นวิธีการที่มีอยู่ในอินเทอร์เฟซ IDisposable ที่ช่วยในการใช้งาน Garbage Collection แบบกำหนดเอง กล่าวอีกนัยหนึ่ง หากเรากำลังดำเนินการเกี่ยวกับฐานข้อมูล (แทรก อัปเดต ลบ) แต่มีข้อยกเว้นเกิดขึ้น คำสั่งที่ใช้จะปิดการเชื่อมต่อโดยอัตโนมัติ ไม่จำเป็นต้องเรียกใช้เมธอด Close() ของการเชื่อมต่ออย่างชัดเจน
ปัจจัยสำคัญอีกประการหนึ่งคือช่วยในการรวมการเชื่อมต่อ การรวมการเชื่อมต่อใน .NET ช่วยขจัดการปิดการเชื่อมต่อฐานข้อมูลหลายครั้ง มันส่งอ็อบเจ็กต์การเชื่อมต่อไปยังพูลเพื่อใช้ในอนาคต (การเรียกฐานข้อมูลครั้งต่อไป) ครั้งถัดไปที่มีการเรียกการเชื่อมต่อฐานข้อมูลจากแอปพลิเคชันของคุณ กลุ่มการเชื่อมต่อจะดึงวัตถุที่มีอยู่ในพูล จึงช่วยปรับปรุงประสิทธิภาพของแอพพลิเคชั่น ดังนั้นเมื่อเราใช้คำสั่ง using ตัวควบคุมจะส่งอ็อบเจ็กต์ไปยังพูลการเชื่อมต่อโดยอัตโนมัติ และไม่จำเป็นต้องเรียกใช้เมธอด Close() และ Dispose() อย่างชัดเจน
using (Stream input = File.OpenRead(filename)) { ... }
ตัวอย่าง
string connString = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"; using (SqlConnection conn = new SqlConnection(connString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "SELECT CustomerId, CompanyName FROM Customers"; conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) Console.WriteLine("{0}\t{1}", dr.GetString(0), dr.GetString(1)); } }
ในโค้ดด้านบนนี้ เราไม่ได้ปิดการเชื่อมต่อใดๆ มันจะปิดโดยอัตโนมัติ การใช้คำสั่งจะเรียก conn.Close() โดยอัตโนมัติเนื่องจากคำสั่งที่ใช้
(โดยใช้ (SqlConnection conn =new SqlConnection(connString)) และเหมือนกันสำหรับวัตถุ SqlDataReader และหากเกิดข้อยกเว้นขึ้น การเชื่อมต่อจะปิดโดยอัตโนมัติ