asp-classic – VBScript条件短路解决方法
发布时间:2020-05-24 01:57:14 所属栏目:asp.Net 来源:互联网
导读:我有一个大的经典的ASP应用程序,我必须维护,我反复发现自己被缺乏短路评估能力所阻挠.例如,VBScript不会让你摆脱: if not isNull(Rs(myField)) and Rs(myField) 0 then... …因为如果Rs(“myField”)为空,则在第二个条件中会收到一个错误,将null与0进行比较.
|
我有一个大的经典的ASP应用程序,我必须维护,我反复发现自己被缺乏短路评估能力所阻挠.例如,VBScript不会让你摆脱: if not isNull(Rs("myField")) and Rs("myField") <> 0 then
...
…因为如果Rs(“myField”)为空,则在第二个条件中会收到一个错误,将null与0进行比较.因此,我通常会这样做: dim myField
if isNull(Rs("myField")) then
myField = 0
else
myField = Rs("myField")
end if
if myField <> 0 then
...
显而易见,这是一个令人震惊的消息.围绕这个大代码库,我发现最好的解决方法是使用原始程序员写的函数,称为TernaryOp,它基本上以三进制类似于操作符的功能移植,但是我仍然使用一个临时变量需要一个更全面的语言.有没有更好的办法? VBScript中确实存在一些超级秘密的短路方式? 解决方法也许不是最好的方法,但它肯定是有效的…另外,如果你在vb6或.net,你可以有不同的方法投射到正确的类型.if cint( getVal( rs("blah"),"" ) )<> 0 then
'do something
end if
function getVal( v,replacementVal )
if v is nothing then
getVal = replacementVal
else
getVal = v
end if
end function (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 通过javascript从代码后面访问变量
- asp.net-mvc – 当添加非mvc路由时,Html.ActionLink构造错误
- asp.net – 会话超时在IIS 7中如何工作?
- asp.net-mvc – 适用于MVC 2 beta 2的MicrosoftMvcJQueryVa
- .net – 如何动态清除用户控件中的所有控件?
- asp.net-mvc – 使用Windows身份验证和OWIN的ASP.NET MVC5
- 如何配置IIS 7以使用子目录作为默认文档?
- asp.net-mvc – 使用依赖注入来组织ASP.Net MVC解决方案的最
- asp.net – AcquireRequestState的长时间延迟
- asp.net-mvc-3 – 跨域的SignalR
推荐文章
站长推荐
- asp.net-mvc-4 – 是否可以将MVC Razor视图保存到
- Serilog接收ASPNET核心记录
- 如何在ASP.NET中使用log4net在日志文件中包含Ses
- 如何在ASP.NET Core 2.0中设置多个身份验证方案?
- ASP.NET页面上的多种语言(英语,法语)
- asp.net – asmx webservices与REST兼容?
- 如何在ASP.NET应用程序中使用jQuery捕获提交事件
- asp.net-mvc – ErrorAttribute vs OnException与
- asp.net-mvc – ASP.NET MVC和ViewState
- asp.net – app_offline.htm在生产框中抛出HTTP
热点阅读
