я учусь C# и у меня есть сомнение, в руководителе, за которым я следую, делается следующее
if (record.HasRows){
Dictionary<string, string> row;
while (record.Read()){
row = new Dictionary<string, string>();
for (int f = 0; f < record.FieldCount, f++){
row.Add(record.GetName(f), record.Getvalue(f);
}
}
}
Мое сомнение состоит в том, что я не понимаю, из-за которого instancio row внутри цикла While, это не способствовало бы тому, чтобы он был создан неоднократно пока рекорд продолжает читаться? и в которое я понимаю только, требуется instanciar единственный раз, чтобы мочь добавлять N элементы, не каждый раз, когда хотелось добавлять что-то. Не было бы должно быть instanciado в условном if вместо внутри While?
Если, asГ - он, не deberГ - в instanciar снова row
в каждый iteraciГіn. DeberГ - в instanciar единственный раз и добавлять Ваши элементы в каждый iteraciГіn.
if (record.HasRows){
Dictionary<string, string> row = new Dictionary<string, string>();
while (record.Read()){
for (int f = 0; f < record.FieldCount, f++){
row.[record.GetName(f)] = record.Getvalue(f);
}
}
}
Со своей стороны рекомендуемый санкционировать хорошо Add
, так как, если ключ уже существует в словаре, он будет давать тебе ошибку (Поэтому utilicГ© =
)
Этот код не правилен
сначала ты не нуждаешься в том, чтобы спросить из-за HasRows
, так как while не введет информацию в компьютер, а смоги posicionar курсор
, если ты определяешь словарь внутри if область, будет только этим, с чем ты это не сможешь использовать снаружи
Кроме того эта редко данные, которых ты хочешь перевернуть, потому что это массив или таблица и не возможно выравнивать, таким образом, ты нуждаешься в структуре, которая отражала бы линии и колонны
, оно было бы чем-то как это
var Items = new List<Dictionary<string, string>>();
while (record.Read())
{
var row = new Dictionary<string, string>();
for (int f = 0; f < record.FieldCount, f++)
{
row.Add(record.GetName(f), record.Getvalue(f));
}
Items.Add(row);
}
Серьезный список каждый реестр и составом row были бы колонны, представленный в словаре