gpt4 book ai didi

vb.net - 无法查看声明为可为空的结构的成员

转载 作者:行者123 更新时间:2023-12-02 05:18:50 25 4
gpt4 key购买 nike

在 VB.NET 中,当我将结构设为可空类型时,为什么看不到结构成员?

示例:

Public Structure myNullable  
Dim myNullVar As Integer
End Structure

Sub Main()
Dim myInstance As myNullable 'This works.
Dim myNullableInstance? As myNullable 'This works.
myInstance.myNullVar = 1 'This works.
myNullableInstance.myNullVar = 1 'This doesn't work.
End Sub

最佳答案

正如其他人所说,您需要使用 Value属性来获取值。然而,System.Nullable<T>是不可变的 - Value属性是只读的。它将返回该值的副本,因此即使您可以更改该字段,它也不会执行您想要的操作。

这实际上是一件好事 - 值类型应该是不可变的。可变结构是可怕的 - 如果事实是 Nullable<T>使你很难使用你的类型,将你推向不变性路线,这很好。

将您的字段设置为只读,并添加一个构造函数以允许您传递值。然后,不要尝试修改可为空值,而是为变量分配一个全新的值。

关于vb.net - 无法查看声明为可为空的结构的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1261207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com