Из строки в жесткий код (хэш-таблицы C #)

#c# #winforms

#c# #winforms

Вопрос:

Я создал хэш-таблицу под названием casillas, в которой ключами являются числа от 1 до 68, а значениями — строки типа:

 dataGridView1.Rows[0].Cells[8]
  

Это позволяет мне легко ссылаться на конкретную ячейку в dataGrid , но как я могу использовать это для доступа к таким вещам, как стиль ячеек?

Я хочу сделать что-то вроде:

 casillas[1].Style.BackColor = Color.Purple;
  

Комментарии:

1. Зачем помещать строки внутри хэш-таблицы? Вы можете ввести ключ в саму ячейку.

2. Я только что попробовал это без строк (удалив «», которое я написал при добавлении значений), и это все еще не работает

3. Не могли бы вы, пожалуйста, показать нам свой код?

Ответ №1:

Используйте хэш-таблицу для хранения ссылок на ячейки вместо:

 int rowIndex = 0;
int colIndex = 8;
casillas[1] = dataGridView1.Rows[rowIndex].Cells[colIndex];
  

Теперь вы можете получить доступ к свойствам ячеек через свою хэш-таблицу:

 casillas[1].Style.BackColor = Color.Purple;
  

Комментарии:

1. Пробовал, но все равно не работает. Когда я пишу casillas[1]. В списке появятся Equals, GetHashCode, GetType и toString, и если я продолжу писать casillas[1]. Стиль. BackColor = цвет. Фиолетовый выдает ошибку.

2. @Y.Костела, да, это ссылка на объект. вы можете просто преобразовать его.

3. @xdtTransform как я должен его преобразовать? Теперь у меня есть предложение типа casillas[17] = DataGridView.Rows[9]. Ячейки[18];

4. Приведите его к DataGridViewCell ((DataGridViewCell)casillas[17]).Style.BackColor = Color.Purple

Ответ №2:

Мне пришлось создать новую переменную типа DataGridViewTextBoxCell (называемую, например, cas), равную casillas[X], а затем применить изменения, которые я хотел, к этой новой переменной с именем cas.