Есть ли более красивый способ проверить наличие DBNull при создании массива строк? - PullRequest
1 голос
/ 29 ноября 2011

Прямо сейчас я использую следующий метод:

string[] AudienceTags = ((string[])(relResults["NEVCOAudienceTag"].GetType() == typeof(DBNull) ? null : relResults["NEVCOServiceTag"]));

Но это довольно долго.Есть ли хитрый способ, который я не знаю, который я должен использовать для достижения вышеприведенных строк.

FYI relResults - это объект ResultTable , который происходит от FullTextSqlQuery.Все это связано с SharePoint, поэтому у меня нет тех опций, которые были бы у меня, если бы это был прямой запрос SQL Server.

Ответы [ 2 ]

5 голосов
/ 29 ноября 2011

Просто напишите relResults["NEVCOServiceTag"] as string[].

Поскольку DBNull.Value не является string[], он вернет null.

1 голос
/ 29 ноября 2011

ResultTables наследуются от IDataReader, поэтому каждая IDataRecord в результате должна иметь метод .IsDBNull.

...