Наиболее распространенная идиома для создания двумерного массива с 5 строками и 10 столбцами:
int[][] multD = new int[5][10];
В качестве альтернативы вы можете использовать следующее, которое больше похоже на то, что у вас есть, хотя вам нужно явно инициализировать каждую строку:
int[][] multD = new int[5][];
for (int i = 0; i < 5; i++) {
multD[i] = new int[10];
}
Используйте DBNull.Value.Equals для объекта без преобразования его в строку.
Вот пример:
if (! DBNull.Value.Equals(row[fieldName]))
{
//not null
}
else
{
//null
}
System.Convert.IsDbNull][1](table.rows[0][0]);
IIRC, (table.rows[0][0] == null)
не будет работать, как DbNull.Value != null;
Просто используйте DataRow.IsNull . Он имеет переопределения, принимающие в качестве параметров индекс столбца , имя столбца или объект DataColumn .
Пример использования индекса столбца:
if (table.rows[0].IsNull(0))
{
//Whatever I want to do
}
И хотя функция называется IsNull
, она действительно сравнивается с DbNull
(что именно то, что вам нужно).
Что если я хочу проверить DbNull, но у меня нет DataRow? Используйте Convert.IsDBNull .
Если мы используем EF и читаем элемент базы данных в цикле while, то
using( var idr = connection, SP.......)
{
while(idr.read())
{
if(String.IsNullOrEmpty(idr["ColumnNameFromDB"].ToString())
//do something
}
}
Просто проверьте на
if(table.rows[0][0] == null)
{
//Whatever I want to do
}
или вы можете
if(t.Rows[0].IsNull(0))
{
//Whatever I want to do
}