Как я получаю данные о диске в C#?

Это не особенность языка, так как это ограничение физических процессорных архитектур, на которых выполняется код. Экран int в C обычно является размером вашего стандартного регистра CPU. Больше кремния занимает больше места и больше мощности, поэтому во многих случаях арифметику можно выполнять только по типам «натурального размера». Это не универсально, но большинство архитектур все еще имеют это ограничение. Другими словами, при добавлении двух 8-битных чисел то, что на самом деле происходит в процессоре, это тип 32-разрядной арифметики, за которой следует либо простая битовая маска, либо другое подходящее преобразование типа.

46
задан Ani 20 October 2010 в 13:45
поделиться

4 ответа

Для большей части информации можно использовать класс DriveInfo .

using System;
using System.IO;

class Info {
    public static void Main() {
        DriveInfo[] drives = DriveInfo.GetDrives();
        foreach (DriveInfo drive in drives) {
            //There are more attributes you can use.
            //Check the MSDN link for a complete example.
            Console.WriteLine(drive.Name);
            if (drive.IsReady) Console.WriteLine(drive.TotalSize);
        }
    }
}
71
ответ дан Vinko Vrsalovic 26 November 2019 в 20:25
поделиться
5
ответ дан rravuri 26 November 2019 в 20:25
поделиться

Проверьте класс DriveInfo и посмотрите, содержит ли он всю информацию, в которой Вы нуждаетесь.

3
ответ дан bruno conde 26 November 2019 в 20:25
поделиться

А как насчет подключенных томов, для которых нет буквы диска?

foreach( ManagementObject volume in 
             new ManagementObjectSearcher("Select * from Win32_Volume" ).Get())
{
  if( volume["FreeSpace"] != null )
  {
    Console.WriteLine("{0} = {1} out of {2}",
                  volume["Name"],
                  ulong.Parse(volume["FreeSpace"].ToString()).ToString("#,##0"),
                  ulong.Parse(volume["Capacity"].ToString()).ToString("#,##0"));
  }
}
5
ответ дан 26 November 2019 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: