У меня есть DataTable resultSet;
- Я пытаюсь проверить поля для null, но вернуть объект '{}' (пустой набор?). Поиски с участием «{}» не приносят никаких подходящих решений.C# DataTable ItemArray возвращает '{}' - как я могу проверить значение null?
Это код, который не работает, как ожидалось, когда поле «fk_id» равна нулю:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
//never reaches here
}
Примечание: с помощью INT индекс вместо Columns.IndexOf()
не проблема.
Также имеет ли "{}" другое имя в C#?
Большое спасибо, полностью забыл о «DBNull.Value» - прошло некоторое время с тех пор, как я манипулировал наборами данных –
Интересно, почему они спроектировали его таким образом, вместо того, чтобы просто использовать нуль? –
@ k.rob Потому что в .NET 1.0 не было Nullable , поэтому не было никакого способа представить значение Int32 «null». –