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);
Есть ли более оригинальных способ вывести для каждой видеокарты свой объём памяти?
Я думаю, что можно сделать через сдвиг бит, так как делитель кратен 2.
В любом случае проще сделать это не получится, так как даже если ты найдешь в .NET готовую функцию, то внутри себя она будет делать тоже самое, что и ты описал.
Для красоты я бы вынес конвертирование памяти в отдельный Helper класс, например MemoryConverter
.
Так же ты несколько раз конвертируешь одну и туже строку в Double. Правильнее сконвертировать ее 1 раз в какую-нибудь переменную.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть таблица с пользователямиЗаписываю в колонку iplast записываю последние входы ip
Из-за чего такое может быть, что некоторые пхп скрипты не запускаются на сервере? А некоторые нормально работаютЗаливаю в корень доменов,...
Пишу простой модуль для Joomla для вывода ссылок, нужно вывести название и ссылку