Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การดึงชื่อไดรฟ์ใน C# ด้วยคุณสมบัติ Name ของ DriveInfo

คุณสมบัติ Name ของคลาส DriveInfo คืนค่าชื่อไดรฟ์ในรูปแบบมาตรฐาน (เช่น C:\ บน Windows หรือ / บน Linux) ใช้สำหรับระบุตัวตนของไดรฟ์อย่างชัดเจน

รูปแบบการใช้งาน

DriveInfo drive = new DriveInfo("C");
string driveName = drive.Name; // "C:\"

โค้ดตัวอย่างสมบูรณ์

using System;
using System.IO;

public class Demo
{
    public static void Main()
    {
        try
        {
            // สร้าง DriveInfo สำหรับไดรฟ์ C
            DriveInfo drive = new DriveInfo("C");
            
            Console.WriteLine($"ชื่อไดรฟ์: {drive.Name}");
            Console.WriteLine($"รูปแบบ: {drive.DriveFormat}");
            Console.WriteLine($"ประเภท: {drive.DriveType}");
            Console.WriteLine($"พร้อมใช้งาน: {drive.IsReady}");
            
            // แสดงชื่อไดรฟ์ทั้งหมดในระบบ
            Console.WriteLine("\n--- ไดรฟ์ทั้งหมด ---");
            foreach (DriveInfo d in DriveInfo.GetDrives())
            {
                Console.WriteLine($"  {d.Name} ({d.DriveType}) - {d.DriveFormat}");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"ข้อผิดพลาด: {ex.Message}");
        }
    }
}

ผลลัพธ์ตัวอย่าง (Windows)

ชื่อไดรฟ์: C:\
รูปแบบ: NTFS
ประเภท: Fixed
พร้อมใช้งาน: True

--- ไดรฟ์ทั้งหมด ---
  C:\ (Fixed) - NTFS
  D:\ (Fixed) - NTFS
  E:\ (CDRom) - 
  F:\ (Removable) - exFAT

ผลลัพธ์ตัวอย่าง (Linux)

ชื่อไดรฟ์: /
รูปแบบ: ext4
ประเภท: Fixed
พร้อมใช้งาน: True

--- ไดรฟ์ทั้งหมด ---
  / (Fixed) - ext4
  /boot (Fixed) - ext4
  /home (Fixed) - ext4

การใช้งานร่วมกับคุณสมบัติอื่นๆ

DriveInfo drive = new DriveInfo("C");

// ตรวจสอบว่าเป็นไดรฟ์ระบบหรือไม่
bool isSystemDrive = drive.Name.Equals(Environment.SystemDirectory.Substring(0, 3), 
                                       StringComparison.OrdinalIgnoreCase);

// สร้างพาธเต็ม
string fullPath = Path.Combine(drive.Name, "Folder", "file.txt");
// ผลลัพธ์: C:\Folder\file.txt

ข้อควรระวัง

  • ชื่อไดรฟ์จะมีเครื่องหมายแบ็กสแลชท้ายเสมอบน Windows (C:\)
  • บน Unix-like จะเป็นสแลชเดี่ยว (/)
  • ใช้ Path.Combine เพื่อรวมพาธอย่างปลอดภัยข้ามแพลตฟอร์ม
  • คุณสมบัตินี้เป็น Read-only ไม่สามารถตั้งค่าได้