You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB中对应C#结构体default字面量的最佳等价写法是什么?

VB中对应C# return default;(结构体默认值)的最佳写法
  • 直接使用 Return Nothing 就是最恰当的等价写法

    • 在VB里,当目标类型是值类型(包括结构体)时,Nothing 完全等价于C#的 default(T):它会将结构体的所有值类型字段设为各自的默认值,引用类型字段设为 null,完全匹配你需要的结构体默认值行为。
    • Visual Studio建议把 CType(Nothing, T) 替换成 Nothing 是合理的——当T是值类型时,VB编译器会自动将Nothing解析为该值类型的默认实例,不需要显式的类型转换。
  • 举个简单例子验证行为:

    Public Structure SampleStruct
        Public NumericField As Integer
        Public ReferenceField As String
    End Structure
    
    Public Function GetDefaultStruct() As SampleStruct
        ' 这行代码的效果和C#的return default(SampleStruct);完全一致
        Return Nothing
    End Function
    

    调用这个方法返回的实例中,NumericField 会是0(int的默认值),ReferenceField 会是Nothing(对应C#的null)。

  • 泛型场景下同样适用:如果你的代码是泛型方法且T被约束为结构体(值类型),Return Nothing 依然能正确返回T的默认实例,编译器会自动处理类型推断,不需要额外转换操作。

内容的提问来源于stack exchange,提问作者Fainbrart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:10:35