保护变量与空值

时间:2015-08-11 16:14:36

标签: vb.net null

我有一些旧代码可以帮助我确保它尽可能稳定。一旦进入蓝色月亮,某些东西就会破碎,并在数据库中留下一堆垃圾数据,所以我要查看可能发生错误的位置。我发现了一堆看似如下的变量赋值:

Event myCommonEvent = new Event();
EventPriority firstPriority = new EventPriority(myCommonEvent, 0.9);
EventPriority secondPriority = new EventPriority(myCommonEvent, 0.1);

如果myVariable = dr.Item("myItem") & "" 解析为Null,dr.Item("myItem")保护& ""是否为空并将其设置为myVariable还是Null会导致我出现问题?

2 个答案:

答案 0 :(得分:3)

无论dr.Item("myItem")是字符串,Nothing还是DBNull.Value,都可以保证返回字符串。根据{{​​3}}:

  

结果的数据类型是String。 如果一个或两个表达式的计算结果为Nothing或者值为DBNull.Value,则将它们视为值为“”的字符串。

答案 1 :(得分:0)

您不需要var links = document.querySelectorAll('.addtocart '); links.onclick = function(){ localstorage['storedValue'] = this.value ; } 运算符和&类型的额外实例,连接运算符将创建。
使用String方法

.ToString()

dr.Item("myItem").ToString() 属性返回类型为DataRow.Item的实例。然后调用该实例的Object方法将返回您在案例中的预期(Item包含类型ToString()的值)

如果item包含String值,则返回空字符串

DBNull.ToString Method

或使用扩展方法DbNull

.Field(Of T)

DataRowExtensions.Field(Of T) Method (DataRow, String)

如果列不存在,则会抛出dr.Field(Of String)("myItem") 异常