Если вы отредактируете, чтобы указать, почему выделение одной строки поможет вам получить более подходящий ответ.Вот несколько различных подходов, которые вы могли бы использовать.
Во-первых, в одной строке, как вы просили:
if ((value != DBNull.Value) || (value == DBNull.Value && !skipNullValues)) { dic.Add(columnName); }
В качестве альтернативы вы можете использовать троичные операторы, если вам нужночто-то более компактное.
var result = (istrue) ? (return valIfTrue) : (return valIfFalse);
Более подробная информация о троичных операторах: http://msdn.microsoft.com/en-us/library/ty67wk28%28v=vs.80%29.aspx
Скорее всего (в зависимости от вашей ситуации) вам следует подумать о создании метода, подобного следующему:
public void AddColumnToDic(object value, string columnName)
bool skipNullValues = false; // todo: read from configuration
if ((value != DBNull.Value) || (value == DBNull.Value && !skipNullValues))
{
dic.Add(columnName);
}
}
и просто вызывайте его для каждого значения ячейки, с которым вы сталкиваетесь.