2013-12-06 5 views
1

Я работаю над проектом с PDFSharp. К сожалению, как разработчик VB.Net, приведенные примеры были написаны на C#. У меня проблема с проверкой, является ли переменная null.
проверка, если переменная NULL

На C#, код объявлен как это

PdfDictionary resources = page.Elements.GetDictionary("/Resources"); 
    if (resources != null) 
    'do stuff here 

Im возникли проблемы со второй линии,

если (ресурсы! = NULL)

Так далеко, это то, что я сделал на VB, и я также прочитал this Blog от sLaks.

Dim ресурсы Как Новый PdfDictionary?()

Но это дает мне некоторые ошибки.

Просто установление ресурсов на nothing даст значение по умолчанию, может быть int или вообще. Я хотел, чтобы его сравнивали с NULL.
Это полностью code.

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

ответ

3

Если вы сделали:

Dim resources As New PdfDictionary?()

Тогда ресурсы не будет ничего, как вы только инстанцировали его к чему-то.

Что вы, вероятно, после того, как это

Dim resources As PdfDictionary = page.Elements.GetDictionary("/Resources") 
    IF resources IsNot Nothing THEN 
    'do stuff 
1

Чтобы избежать множества вложенных сослагательного наклонения и Foreach я бы успех сделать somekind возвращения, если ресурсы равна нулю. Как это:

If resources Is Nothing Then 
Exit Sub/Return/Throw New Exception("Resources cannot be loaded")... 
End If 

... остальной код ..

2
Dim resources As PdfDictionary = page.Elements.GetDictionary("/Resources") 
    IF Not resources Is Nothing THEN 
    'do stuff 

Работает хорошо. Это выбор строителя на этом.

Смежные вопросы