相关疑难解决方法(0)

泛型的默认值

如何在VB中创建泛型的默认值?在C#我可以打电话:

T variable = default(T);
Run Code Online (Sandbox Code Playgroud)
  1. 我怎么在VB中这样做?
  2. 如果这只返回null(C#)或什么都没有(vb)那么值类型会发生什么?
  3. 有没有办法为自定义类型指定默认值是什么?例如,如果我希望默认值等同于在我的类上调用无参数构造函数.

.net c# vb.net generics

18
推荐指数
2
解决办法
7280
查看次数

VB Nullables和Nothings

我研究了VB.NET中C#default关键字等价,并遇到了这个问题.

然后我好奇.一些背景 - 我正在解析一个excel电子表格,其中许多列可以为null,并且我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
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.但是在这里,Integer如果我想要,我可以回复:

Function Test(ByVal i As String) As Nullable(Of Integer)
    Return 2 'or Return Nothing
End Function
Run Code Online (Sandbox Code Playgroud)

我也可以参加C#:

 static void Main(string[] args)
 {
     int? j = Test("1");
 }

 public static int? Test(string i)
 {
     return 2; //or …
Run Code Online (Sandbox Code Playgroud)

vb.net default-value nothing

9
推荐指数
1
解决办法
127
查看次数

标签 统计

vb.net ×2

.net ×1

c# ×1

default-value ×1

generics ×1

nothing ×1