VB.NET在Visual Studio 2005中未进行任何检查是为什么?

2026-05-08 12:263阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计242个文字,预计阅读时间需要1分钟。

VB.NET在Visual Studio 2005中未进行任何检查是为什么?

你能否告诉我为什么这段代码会出错:——对象引用未设置为对象的实例+searchstr +=IIf(Not searchstr Is Nothing AndAlso searchstr.Length > 0, searchstr.Replace(Desig_id, designation_id), )+您还可以提供

你能告诉我为什么这行代码会出错: – “对象引用没有设置为对象的实例”

searchstr = IIf( Not searchstr Is Nothing AndAlso searchstr.Length > 0, searchstr.Replace("Desig_id", "designation_id"), "")

您还可以提供替代方法来进行此类验证吗?

IIf函数表现不像你的想法.它不是一个三元风格的运算符,而是C#或C#.它只是一个普通的函数,这意味着在将它传递给IIf之前,你的条件检查和searchstr.Replace都要进行评估.如果searchstr为null,则searchstr.Replace(…)将抛出NullReferenceException,即使您预计根本不会调用它.

在VS2008中添加了If运算符以支持此操作,但如果您在2005年,则必须将其扩展为If / Else块:

If Not searchstr Is Nothing AndAlso searchstr.Length > 0 Then searchstr = searchstr.Replace("Desig_id", "designation_id") Else searchstr = "" End If

VB.NET在Visual Studio 2005中未进行任何检查是为什么?

本文共计242个文字,预计阅读时间需要1分钟。

VB.NET在Visual Studio 2005中未进行任何检查是为什么?

你能否告诉我为什么这段代码会出错:——对象引用未设置为对象的实例+searchstr +=IIf(Not searchstr Is Nothing AndAlso searchstr.Length > 0, searchstr.Replace(Desig_id, designation_id), )+您还可以提供

你能告诉我为什么这行代码会出错: – “对象引用没有设置为对象的实例”

searchstr = IIf( Not searchstr Is Nothing AndAlso searchstr.Length > 0, searchstr.Replace("Desig_id", "designation_id"), "")

您还可以提供替代方法来进行此类验证吗?

IIf函数表现不像你的想法.它不是一个三元风格的运算符,而是C#或C#.它只是一个普通的函数,这意味着在将它传递给IIf之前,你的条件检查和searchstr.Replace都要进行评估.如果searchstr为null,则searchstr.Replace(…)将抛出NullReferenceException,即使您预计根本不会调用它.

在VS2008中添加了If运算符以支持此操作,但如果您在2005年,则必须将其扩展为If / Else块:

If Not searchstr Is Nothing AndAlso searchstr.Length > 0 Then searchstr = searchstr.Replace("Desig_id", "designation_id") Else searchstr = "" End If

VB.NET在Visual Studio 2005中未进行任何检查是为什么?