Мне просто интересно, можно ли изменить ключ хэш-таблицы? И если да, то как мне это сделать?ключ изменения хеш-таблицы, возможно?
Вот ключи от моего Hashtable, который я получил, делая это:
var param = selectedGroup.Parameters.Keys;
так, что я хочу сделать, это в основном просто изменить ключ.
selectedGroup.Parameters.Keys[i].Value = newKey;
как это сделать?
Я думаю, мне нужно каким-то образом переместить все значения, приписывающие этот ключ.
я попытался сделать новый Hashtable как этот
var parameters = new Tacton.Configurator.ObjectModel.SequencedHashtable<Tacton.Configurator.ObjectModel.Parameter>();
for (int i = 1; i < selectedGroup.Parameters.Count + 1; i++)
{
var para = result.Xml.SelectNodes("/session/view/parameters/param[" + i + "]/field")[0].InnerText + result.Xml.SelectNodes("/session/view/parameters/param[" + i + "]/desc-frags/frag[2]/@name")[0].Value;
var param = selectedGroup.Parameters[i];
parameters.Add(para, param);
}
но тогда я получил следующую ошибку:
Unable to cast object of type 'Named`1[Tacton.Configurator.ObjectModel.Parameter,Tacton.Configurator.ObjectModel.Parameter]' to type 'Tacton.Configurator.ObjectModel.Parameter'.
я в основном хочу такой же, как Хеш selectedGroup.Parameters, но я хочу, чтобы изменить ключи от handsender_part_qty_multifieldITM_HANDSENDER_N002592U00U01 к handsender_part_qty_multifieldITM_HANDSENDER_N002592-00-01
это то, что selectedGroup.Parameters [я] выглядит следующим образом:
Вы хотите изменить ключ или значение? –
Вы хотите перенести значения на новый ключ? Можете ли вы предоставить более мнимый образец с ожидаемым результатом (а не как снимок экрана). –
ключ. Проблема в том, что ключ получает неправильное значение. Если вы посмотрите на первый, это должно быть «handsender_part_qty_multifieldITM_HANDSENDER_N002592-00-01» вместо «handsender_part_qty_multifieldITM_HANDSENDER_N00259U00U01» –