不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
比较VB.NET的And和C#的&&
编辑:dnawo 日期:2009-09-01
先看两个例子:
VB.NET:
C#:
可见,当第一个条件为Flase时,VB.NET仍会再判断第二个条件,而C#则不理会第二个条件,直接返回结果。当第二条件依赖于第一个条件时,VB.NET语句结构得稍加修改,否则程序可能出错:
正确的写法:
C#则比较简洁:
VB.NET的Or和C#的||也有类似的结果,当第一个条件为True时,VB.NET仍会判断第二个条件,而C#则直接返回结果!
VB.NET:
复制内容到剪贴板
程序代码

Function condition1() As Boolean
Response.Write("condition1")
Return False
End Function
Function condition2() As Boolean
Response.Write("condition2")
Return True
End Function
If condition1() And condition2() Then
Response.Write("success")
Else
Response.Write("fail")
End If
'结果:condition1 condition2 fail
Response.Write("condition1")
Return False
End Function
Function condition2() As Boolean
Response.Write("condition2")
Return True
End Function
If condition1() And condition2() Then
Response.Write("success")
Else
Response.Write("fail")
End If
'结果:condition1 condition2 fail
C#:
复制内容到剪贴板
程序代码

private bool condition1()
{
Response.Write("condition1");
return false;
}
private bool condition2()
{
Response.Write("condition2");
return true;
}
if (condition1() && condition2())
Response.Write("success");
else
Response.Write("fail");
//结果:condition1 fail
{
Response.Write("condition1");
return false;
}
private bool condition2()
{
Response.Write("condition2");
return true;
}
if (condition1() && condition2())
Response.Write("success");
else
Response.Write("fail");
//结果:condition1 fail
可见,当第一个条件为Flase时,VB.NET仍会再判断第二个条件,而C#则不理会第二个条件,直接返回结果。当第二条件依赖于第一个条件时,VB.NET语句结构得稍加修改,否则程序可能出错:
复制内容到剪贴板
程序代码

'当cookie不存在时,程序出错:未将对象引用设置到对象的实例。
If Not (Request.Cookies("url") Is Nothing) And Request.Cookies("url").Value = "www.mzwu.com" Then
'code ...
End If
If Not (Request.Cookies("url") Is Nothing) And Request.Cookies("url").Value = "www.mzwu.com" Then
'code ...
End If
正确的写法:
复制内容到剪贴板
程序代码

If Not (Request.Cookies("url") Is Nothing) Then
If Request.Cookies("url").Value = "www.mzwu.com" Then
'code ...
End If
End If
If Request.Cookies("url").Value = "www.mzwu.com" Then
'code ...
End If
End If
C#则比较简洁:
复制内容到剪贴板
程序代码

if (Request.Cookies["url"] != null && Request.Cookies["url"].Value == "www.mzwu.com")
{
//code...
}
{
//code...
}
VB.NET的Or和C#的||也有类似的结果,当第一个条件为True时,VB.NET仍会判断第二个条件,而C#则直接返回结果!
评论: 0 | 引用: 0 | 查看次数: 4342
发表评论
请登录后再发表评论!