+1. Добавлю, что полезно будет прочистить и продуть сжатым воздухом от пыли саму плату и все разъемы, а так же проверить сборку на столе — может замыкать какой-то контакт при монтаже в корпусе.
А что нельзя от числа отделить дробную часть? А далее находить от целой и дробной части код ASCII по отдельности?
Почему нет? Именно так и делается. Число разбивается на две части — целую и дробную. Обрабатываются обе части и в результирующей строке между ними вставляется разделитель дробной части — точка, запятая или любой другой знак в текущей локализации.
В этом и проблема. Примонтированные ФС предоставляют ограниченный функционал. Используйте ФС виртуальной машины. Если нужна синхронизация с хостом — то надо шарить ФС виртуалки и монтировать её на хосте.
В смысле? Что именно не фэйк? Вполне реальный канал. Там у чувака в Британии своя небольшая компания (типа нашего ИП вроде, если я правильно понял его британский акцент), которая занимается всякими искрическими штуками. И вот он собирает всякие мощные трансформаторы и пытает киловольтами и килоамперами разные там пылесосы, тостеры и другую мелкую и не очень бытовую технику.
Ну, тогда остается только реализовывать свою таблицу на более низком уровне. Каждый элемент рендерится в отдельный буфер в памяти, далее все элементы редерятся в один большой буфер, который подключается к окну в виде фонового изображения. Для того, чтобы спрятать столбец или строку в таком буфере достаточно просто сдвинуть само изображение на размер столбца или строк. Или общий размер столбцов/строк. А когда надо показать — из кэша уже отреднеренных элементов копируем изображения.
Значит, либо что-то делаете не так либо там еще где-то тормоза. Циклы внутри?
myControl.SuspendLayout();
foreach(var row in rows){
var controls2hide = GetControls2Hide(row);
foreach(var control in controls2hide ){
control.Hide();
}
}
myControl.ResumeLayout(false);
myControl.PerformLayout();
Добавлю как пользователь данной клавиатуры: отличнейшая! Ход клавиш тихий, очень мягкий и приятный, пальцы не устают, подсветка с настраиваемой яркостью, заряжается раз в две-три недели в условиях постоянного использования. Одну уже истоптал )
Полноразмерная стандартная клавиатура для Win с цифровым блоком, всеми F-клавишами, блоком Home-end-del..
Вертикальный Enter ("перевернутой буквой Г") +
По возможности длинный левый Shift (или хотябы не очень короткий) -
Островные клавиши (или просто удобные) +++
Небольшой ход (как у большинства ноутбуков) +++
Тихая (не обязательно совсем бесшумная, но не механика точно) +++
Подсветка клавиш (не обязательно) ++
Рус и англ раскладка разным цветом (тоже не обязательно, но вдруг) -
Например "прямо сейчас я хочу, чтобы сборщик мусора произвел сборку мусора". Ну, или вот гипотетический пример: есть некая иерархическая структура связанных объектов, занимающая внушительный объем памяти — а нам надо её удалить её полностью и использовать занятую память для других нужд/целей, т.к. количество памяти ограничено. Логичнее всего пройтись по всему дереву и удалить каждый объект отдельно, но мы не знаем когда сборщик мусора все это очистит. А можно просто удалить ссылку на корневой элемент из дерева (чтобы больше нигде не было ссылок на этот корневой объект) — элемент будет отмечен для очистки, далее запустить сборку мусора и сборщик сам проверит корневой элемент и все ссылки на него и от него и убедившись, что в программе больше нигде нет ссылок на мусор и очистит все автоматически. Ну а далее мы используем освободившуюся память для своих целей. Пример номер два: программа постоянно создает и удаляет большое количество различного рода объектов, но логика работы сборщика мусора освобождает медленнее, чем программа генерирует мусора или еще по какой-то иной причине она не устраивает — поэтому программа, периодически напоминает сборщику мусора, что надо все таки работать более активно.