我正在开发一个带有PDFSharp的项目。可悲的是,作为VB.Net开发人员,他们提供的示例是用C#编写的。我遇到了检查变量是否为null
的问题。
在C#上,代码声明为
PdfDictionary resources = page.Elements.GetDictionary("/Resources");
if (resources != null)
'do stuff here
我遇到了第二行的问题,
if(resources!= null)
到目前为止,这是我在VB上所做的,我也从sLaks读过this Blog。
Dim resources As New PdfDictionary?()
但它给了我一些错误。
简单地将资源设置为nothing
将产生其默认值,可以是int,或者无论如何。我希望它与NULL进行比较。
这是完整的code。
答案 0 :(得分:6)
如果你做完了:
Dim resources As New PdfDictionary?()
然后资源不会是什么,因为你只是将它实例化为某种东西。
你可能会追求的是
Dim resources As PdfDictionary = page.Elements.GetDictionary("/Resources")
IF resources IsNot Nothing THEN
'do stuff
答案 1 :(得分:3)
Dim resources As PdfDictionary = page.Elements.GetDictionary("/Resources")
IF Not resources Is Nothing THEN
'do stuff
也适用。它是建筑师在这个上的选择。
答案 2 :(得分:1)
为了避免许多嵌套ifs和foreach,如果资源为null,我会成功返回某些东西。 像这样:
If resources Is Nothing Then
Exit Sub / Return / Throw New Exception("Resources cannot be loaded")...
End If
......代码的其余部分..