รับไดเรกทอรีปัจจุบันใน C #

Rab Direkthxri Paccuban Ni C



เนื่องจากโฟลเดอร์นำเสนอแนวทางที่เป็นระบบและเป็นระเบียบในการจัดการทรัพยากรและเอกสารภายในแอปพลิเคชัน โฟลเดอร์จึงมีบทบาทสำคัญในการพัฒนา C# ไดเร็กทอรีช่วยในการจัดระเบียบไฟล์และทรัพยากรแบบลอจิคัล คุณสามารถค้นหาและจัดการไฟล์ได้อย่างรวดเร็วโดยวางไฟล์ไว้ในไดเร็กทอรีที่มีรายการอื่นที่คล้ายคลึงกัน ใน C# ไดเร็กทอรีการทำงานปัจจุบันของแอปพลิเคชันอาจถูกดึงข้อมูลโดยใช้ฟังก์ชัน GetCurrentDirectory()

ไดเร็กทอรีการทำงานอ้างอิงถึงตำแหน่งในระบบไฟล์ที่แอปพลิเคชันกำลังทำงานอยู่ เนื่องจากทำหน้าที่เป็นจุดเริ่มต้นสำหรับกิจกรรมไฟล์และโฟลเดอร์ที่เกี่ยวข้องทั้งหมด ไดเร็กทอรีนี้จึงจำเป็นต่อการทำความเข้าใจ เราจะมาเรียนรู้เกี่ยวกับตัวอย่างโค้ดต่างๆ เพื่อพูดถึงเรื่องนี้ในคู่มือนี้

ตัวอย่างที่ 1:

มาดูตัวอย่างแรกของคู่มือนี้เพื่อสาธิตการใช้ฟังก์ชัน GetCurrentDirectory() ใน C# คำสั่ง 'การใช้' อนุญาตให้โปรแกรมเข้าถึงคลาสและวิธีการจากเนมสเปซ 'System' และ 'System.IO' เนมสเปซ “System” มีประเภทพื้นฐานและฟังก์ชันการทำงานของระบบขั้นพื้นฐาน ในขณะที่ “System.IO” มีคลาสสำหรับใช้กับเอกสารและไดเร็กทอรี







บรรทัดถัดไปกำหนดคลาสใหม่ชื่อ 'Dummy' ผ่านคีย์เวิร์ด 'class' ชื่อ 'Dummy' เป็นชื่อที่กำหนดเองและสามารถเปลี่ยนแปลงเป็นตัวระบุที่ถูกต้องได้ ฟังก์ชัน main() เริ่มต้นด้วยคีย์เวิร์ดแบบคงที่ซึ่งระบุว่าเป็นวิธีการระดับคลาส และไม่จำเป็นต้องเรียกใช้คลาสอินสแตนซ์เพื่อให้ทำงาน



การเรียกใช้ฟังก์ชันไดเร็กทอรีกำลังจะเกิดขึ้น สามารถใช้เมธอด GetCurrentDirectory() เพื่อรับไดเร็กทอรีการทำงานปัจจุบันของแอปพลิเคชัน ฟังก์ชัน GetCurrentDirectory() เป็นฟังก์ชันคงที่จากคลาส 'Directory' ซึ่งเป็นส่วนหนึ่งของเนมสเปซ 'System.IO' มันจะส่งคืนสตริงที่แสดงถึงไดเร็กทอรีปัจจุบันและกำหนดให้กับตัวแปร “cd”



วิธีการ Console.WriteLine() ใช้เพื่อแสดงบรรทัดข้อความไปยังเอาต์พุตมาตรฐาน (คอนโซล) ในกรณีนี้ จะพิมพ์ข้อความ “My Current Directory:” ที่เชื่อมกับค่าของตัวแปร “cd” ซึ่งเก็บเส้นทางไดเรกทอรีปัจจุบัน





โดยใช้ระบบ ;

โดยใช้ระบบ ไอโอ ;

คลาสดัมมี่ {

คงที่ เป็นโมฆะ หลัก ( ) {

สตริงซีดี = ไดเรกทอรี รับ CurrentDirectory ( ) ;

คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบันของฉัน: ' + ซีดี ) ;

}

}

เมื่อคุณรันโปรแกรม C# นี้ เมธอด 'Main' จะถูกดำเนินการ และไดเร็กทอรีปัจจุบันจะแสดงบนคอนโซล ในกรณีที่คุณใช้คอมไพเลอร์ C# ออนไลน์ จะแสดงพาธของคอมไพเลอร์ เช่น /home/compiler



อาจแตกต่างกันไปขึ้นอยู่กับวิธีที่คุณรันแอปพลิเคชัน (เช่น จาก Visual Studio, พร้อมรับคำสั่ง หรือ IDE อื่น)

ตัวอย่างที่ 2:

นอกเหนือจากคลาส “Directory” แล้ว สภาพแวดล้อมของ C# ยังสามารถใช้เพื่อรับไดเร็กทอรีการทำงานปัจจุบันได้อีกด้วย มาอธิบายโค้ดตัวอย่าง C# ที่ให้มาทีละขั้นตอน รหัสเริ่มต้นด้วย 'การใช้ระบบ' คำสั่งซึ่งรวมถึงเนมสเปซ “ระบบ” ในโปรแกรม รหัสกำหนดคลาสใหม่ชื่อ 'ทดสอบ'

ตัวแปรประเภทสตริงที่มีชื่อ “dir” จะถูกประกาศและได้รับค่าภายในฟังก์ชัน “Main” หากต้องการรับไดเร็กทอรีที่ใช้งานอยู่ในปัจจุบันของแอปพลิเคชัน ให้ใช้แอตทริบิวต์ Environment.CurrentDirectory คลาส 'สภาพแวดล้อม' ให้ข้อมูลเกี่ยวกับสภาพแวดล้อมที่แอปพลิเคชันกำลังทำงานอยู่ รวมถึงข้อมูลเกี่ยวกับระบบไฟล์และตัวแปรสภาพแวดล้อมของระบบ

วิธีการ 'Console.WriteLine' ใช้เพื่อแสดงไดเร็กทอรีปัจจุบันบนคอนโซลของ IDE ที่คุณใช้อยู่ ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” กับค่าที่เก็บไว้ในตัวแปร “dir”

โดยใช้ระบบ ;

การทดสอบในชั้นเรียน {

คงที่ เป็นโมฆะ หลัก ( ) {

ผบ = สิ่งแวดล้อม. ไดเรกทอรีปัจจุบัน ;

คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + คุณ ) ;

}

}

เมธอด 'หลัก' จะถูกเรียกใช้โดยค่าเริ่มต้นเมื่อเรียกใช้แอปพลิเคชัน เริ่มต้นด้วยการดึงข้อมูลไดเร็กทอรีปัจจุบันโดยใช้ Environment.CurrentDirectory จากนั้นจะแสดงไดเร็กทอรีปัจจุบันโดยพิมพ์ข้อความ “Current Directory:” ตามด้วยพาธไดเร็กทอรีไปยังคอนโซลโดยใช้คุณสมบัติ Environment.CurrentDirectory

ตัวอย่างที่ 3:

การรับไดเร็กทอรีปัจจุบันของแอปพลิเคชันทำได้ง่ายด้วยแอตทริบิวต์ AppDomain.CurrentDomain.BaseDirectory เราเพิ่มตัวอย่างโค้ด C# อีกตัวอย่างหนึ่งเพื่อสาธิตการใช้ AppDomain.CurrentDomain.BaseDirectory

หลังจากเพิ่มเนมสเปซ “ระบบ” แล้ว รหัสจะกำหนดคลาสที่เรียกว่า “ทดสอบ” วิธีการ 'หลัก' เริ่มดำเนินการโดยเพิ่มบรรทัดเพื่อดึงไดเร็กทอรีการทำงานปัจจุบันของแอปพลิเคชัน คลาส 'AppDomain' แสดงถึงโดเมนแอปพลิเคชัน และ 'CurrentDomain' เป็นคุณสมบัติคงที่ที่ส่งคืนโดเมนแอปพลิเคชันปัจจุบัน

ในทางกลับกัน คุณสมบัติ “BaseDirectory” จะให้ไดเร็กทอรีฐาน (หรือที่เรียกว่าไดเร็กทอรีรากของแอปพลิเคชัน) ของโดเมนแอปพลิเคชันปัจจุบัน บรรทัดถัดไปประกาศตัวแปรชื่อ 'dir' ซึ่งเป็นประเภทสตริงเพื่อจัดเก็บไดเร็กทอรีปัจจุบัน บรรทัดถัดไปที่ต่อเนื่องกันจะส่งออกไดเร็กทอรีปัจจุบันไปยังคอนโซลโดยใช้เมธอด Console.WriteLine ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” เข้ากับค่าของตัวแปร “dir”

โดยใช้ระบบ ;

การทดสอบในชั้นเรียน {

คงที่ เป็นโมฆะ หลัก ( ) {

ผบ = แอพโดเมน. ปัจจุบันโดเมน . ไดเรกทอรีฐาน ;

คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + คุณ ) ;

}

}

เมื่อคุณรันโปรแกรม C# นี้ จะแสดงไดเร็กทอรีปัจจุบันของแอปพลิเคชันบนคอนโซล

ตัวอย่างที่ 4:

ถึงเวลาสำหรับภาพประกอบสุดท้ายจากคู่มือนี้ รหัส C# ที่ให้มานั้นเป็นแอปพลิเคชันคอนโซลธรรมดาที่สาธิตการรับไดเร็กทอรีปัจจุบันโดยใช้เมธอด “Path.GetDirectoryName()” และ “Assembly.GetExecutingAssembly().Location”

ในโค้ดนี้ มีการนำเข้าเนมสเปซสามรายการ: “System”, “System.IO” และ “System.Reflection” เนมสเปซเหล่านี้มีคลาสและวิธีการที่จำเป็นสำหรับการดำเนินการต่างๆ ในโค้ด วิธีการ 'หลัก' และคลาสที่เรียกว่า 'ทดสอบ' ถูกกำหนดไว้ในรหัส หากต้องการรับไดเร็กทอรีการทำงานปัจจุบัน เมธอด 'Assembly.GetExecutingAssembly()' จะส่งคืนออบเจ็กต์ 'Assembly' ที่แสดงถึงแอสเซมบลีที่ดำเนินการอยู่ในปัจจุบัน (เช่น ปฏิบัติการที่กำลังทำงานอยู่)

คุณสมบัติ 'ตำแหน่ง' ของวัตถุ 'แอสเซมบลี' ให้เส้นทางแบบเต็มไปยังตำแหน่งของไฟล์ปฏิบัติการที่รันอยู่ (รวมถึงชื่อไฟล์) ตอนนี้คุณสมบัติ 'ตำแหน่ง' อาจมีเส้นทางแบบเต็มไปยังไฟล์ปฏิบัติการรวมถึงชื่อไฟล์ด้วย หากต้องการแยกเฉพาะส่วนไดเรกทอรี ระบบจะใช้ “Path.GetDirectoryName()” เส้นทางไดเร็กทอรีที่เก็บไฟล์จะถูกส่งกลับโดยฟังก์ชันนี้หลังจากยอมรับที่อยู่ไฟล์เป็นอินพุต

สุดท้ายโค้ดจะพิมพ์ไดเร็กทอรีปัจจุบันที่ได้รับไปยังคอนโซลโดยใช้ 'Console.WriteLine()' ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” กับค่าของตัวแปร “cd” (ซึ่งเก็บเส้นทางไดเรกทอรีปัจจุบัน)

โดยใช้ระบบ ;

โดยใช้ระบบ ไอโอ ;

โดยใช้ระบบ การสะท้อน ;

การทดสอบในชั้นเรียน {

คงที่ เป็นโมฆะ หลัก ( ) {

สตริงซีดี = เส้นทาง. รับ DirectoryName ( การประกอบ. รับ ExecutingAssembly ( ) . ที่ตั้ง ) ;

คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + ซีดี ) ;

}

}

เมื่อคุณรันโปรแกรม C# นี้ มันจะแสดงไดเร็กทอรีปัจจุบันของไฟล์ปฏิบัติการที่รันอยู่บนคอนโซลตามเอาต์พุตที่แสดงในรูปภาพ:

บทสรุป

อินสแตนซ์ดังกล่าวได้รับระบบไฟล์ปัจจุบันของแอปพลิเคชันโดยใช้วิธีและคุณลักษณะ C# ต่างๆ โปรดทราบว่าเส้นทางปัจจุบันอาจเปลี่ยนแปลงได้ขึ้นอยู่กับสภาพแวดล้อมที่ทำงานอยู่และวิธีการเปิดตัวโปรแกรม