Конвертирование памяти для видеокарты

397
22 мая 2017, 23:46
private static ManagementObjectSearcher VideoControl = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_VideoController");
ManagementObjectCollection GetVideo = VideoControl.Get();
foreach (ManagementObject w in GetVideo)
{
  string container;
  int int1024 = 1048576;
  if ((Convert.ToDouble(w["AdapterRam"]) / int1024) % 1024 == 0)
    container = ((Convert.ToDouble(w["AdapterRam"]) / int1024) / 1024).ToString() + " ГБ";
  else
    container = (Convert.ToDouble(w["AdapterRam"]) / int1024).ToString() + " МБ";
    if (w["Caption"] != null)
stringbuilder.AppendFormat("Ваша Видеокарта: {0}  -  ({1})", w["Caption"], container);

Есть ли более оригинальных способ вывести для каждой видеокарты свой объём памяти?

Answer 1

Я думаю, что можно сделать через сдвиг бит, так как делитель кратен 2.

В любом случае проще сделать это не получится, так как даже если ты найдешь в .NET готовую функцию, то внутри себя она будет делать тоже самое, что и ты описал.

Для красоты я бы вынес конвертирование памяти в отдельный Helper класс, например MemoryConverter.

Так же ты несколько раз конвертируешь одну и туже строку в Double. Правильнее сконвертировать ее 1 раз в какую-нибудь переменную.

READ ALSO
Вывод текст из DataGridView в Label

Вывод текст из DataGridView в Label

Как вывести текст из ячейки DataGridView в Label? Те

453
Поиск клонов по ip

Поиск клонов по ip

Есть таблица с пользователямиЗаписываю в колонку iplast записываю последние входы ip

201
Некоторые пхп скрипты не запускаются на сервере

Некоторые пхп скрипты не запускаются на сервере

Из-за чего такое может быть, что некоторые пхп скрипты не запускаются на сервере? А некоторые нормально работаютЗаливаю в корень доменов,...

228
Вывод данных из базы данных

Вывод данных из базы данных

Пишу простой модуль для Joomla для вывода ссылок, нужно вывести название и ссылку

221