- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我研究了C#
的default
VB.NET 中的关键字等价并遇到 this question .
然后我就好奇了。一些背景知识 - 我正在解析一个 Excel 电子表格,其中许多列可以为空,对于我来说,整数列与 0
之间肯定存在差异。并且是 null
.
我写了一个小解析方法:
Function Test(ByVal i As String) As Nullable(Of Integer)
Dim j As Integer
If Integer.TryParse(i, j) Then
Return j
Else
Return Nothing
End If
End Function
Integer
如果我想:
Function Test(ByVal i As String) As Nullable(Of Integer)
Return 2 'or Return Nothing
End Function
C#
还有:
static void Main(string[] args)
{
int? j = Test("1");
}
public static int? Test(string i)
{
return 2; //or return null
}
j
到
int
,我会得到一个编译时转换错误,这完全有道理。
Sub Main()
Dim j As Integer = Test("hello")
End Sub
Function Test(ByVal i As String) As Nullable(Of Integer)
Dim j As Integer
Return If(Integer.TryParse(i, j), j, Nothing)
End Function
i
不是
Integer
它可以重写为:
Function Test(ByVal i As String) As Nullable(Of Integer)
Return DirectCast(Nothing, Integer)
End Function
Nothing
在 VB.NET 中工作,此代码编译并运行没有错误 --
j 设置为整数的默认值 0 .
Nothing
在 VB 中工作,还是这是预期目的?
最佳答案
您的 VB.Net 代码可以编译,因为您使用的是后期绑定(bind),它允许在运行时更改变量的类型。
如果你用 OPTION STRICT ON
编译你的代码,你会得到一个编译器错误,比如:
Option Strict On disallows implicit conversions from 'Integer?' to 'Integer'.
关于vb.net - VB Nullables 和 Nothing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30485952/
这里有没有人使用 VB.NET 并且强烈偏好或反对使用 Not foo Is Nothing而不是 foo IsNot Nothing ?如果是这样,为什么? 例如 If var1 IsNot Not
我刚开始使用 git,我有点困惑。我想要做的是为特定项目文件夹设置一个新的存储库。我的第一个问题是我究竟需要在终端、桌面或文件夹本身的什么地方进行文件初始化来初始化文件。我尝试导航到实际文件夹并输入
在VB中是否有任何情况x = Nothing与 x is Nothing 不一样? 另外,x <> Nothing对比 x IsNot Nothing 我认为它们完全相同..但只是想确定一下。 最佳答
我们在 VB.Net 中有几个项目,使用 .Net Framework 4 和 Linq to Entities 来处理我们的许多 SQL 查询。迁移到 EF 对我们来说是一个新的转变(已经使用了大约
似乎我理解错了,但我尝试了以下方法: GHCi, version 8.6.5 Nothing == Nothing => True Nothing == (pure Nothing) => False
在我的程序中,我想用 Nothing 初始化一堆矩阵,然后如果满足某些条件,将单个元素更改为 Bool 类型的值或 String 这在我初始化时工作正常 Array{Union{Nothing,Boo
我有以下代码,无法编译: object PcpProtocol { private type PcpKV = String private val findPublicKey: List[Pc
在 VB.NET , 有什么区别 if foo is Nothing Then doStuff() End If 和 if foo=Nothing Then doStuff() E
我试图在现有字典的第二层实例化一个空字典,然后为其分配一个键值对,但 MyPy 抛出错误。 这是一个最小的示例,它将在激活 MyPy 检查时重现它: result = {"Test": "someth
我正在将一个最初用 Java 编写的 Android 应用程序转换为 Kotlin。我很难理解以下错误消息: Type mismatch.Required:MenuSlidingTabStrip.On
我有: Dim nVar1 As Long? Dim nVar2 As Long? Dim nVarSum As Long? nVar1 = Nothing nVar2 = 5 nVarSum = n
我正在构建一个控制 git 存储库的 PHP 应用程序。我有一个执行命令 git status 的同步函数,虽然没有返回“你的分支是最新的”,但可能会提前采取必要的行动,比如远程或本地分支。 我还构建
我如何确定一个 perl 函数返回 nothing 甚至 undef? 例子: sub test { return; } 或 sub test {} 问题是好奇的代理函数也可以返回字符串、列表…
我希望 vim 在没有打开或创建文件时打开 :Explorer。例如。当我打电话时vim没有任何选择。 调用 vim newfile.txt尽管如此,仍然应该以正常方式行事。 我该怎么做呢?我似乎找不
我知道 Scala Nothing 是底层类型。当我看到 API 时,它从层次结构中的顶部的“Any”扩展而来。 现在既然Scala不支持多重继承,怎么能说是底层类型呢?换句话说,它没有直接继承所有的
我正在尝试检查“Listivew.Tag 属性是否为空”。 我过去常常对所有场景进行“什么都没有”检查作为第一次检查以避免错误 有人可以解释如何在 VB 6 中做到这一点吗? If Not .lvw
我有一对看起来像这样的类(class)。有一个 Generator根据一些类级别的值生成一个值,和一个 GeneratorFactory构造一个 Generator . case class Gene
这是我去年遇到的事情,SO 似乎是记录它的好地方:) 问:从 Delphi 自动化 Excel (/Word/...) 时,如何检查 Excel 函数是否返回变体 Nothing(如 VBA 中的调用
给定一个多态性状 trait Transform[T] { def apply( t: T ) : T } 人们可能喜欢实现各种专门的实例,例如 case class Add[Double] ex
这个问题已经有答案了: Java do nothing (6 个回答) Empty if-statements [duplicate] (9 个回答) 已关闭 4 年前。 我正在编写一个 if-els
我是一名优秀的程序员,十分优秀!