我试图在C#中找到符号/运算符?
的含义。
用法示例:
private Point? _point = null;
我认为必须对null
值执行某些操作。
当然我查看了MSDN C# Operators页面,但在那里找不到答案。
有人可以给我一个链接或解释这个操作符吗?
答案 0 :(得分:11)
这是Nullable<T>
的简写,即Point?
与Nullable<Point>
相同。这允许您为值类型分配空值。
请参阅Using Nullable Types上的MSDN参考。
注意,在这种情况下,它不是运算符,而是一种简写语法。
答案 1 :(得分:3)
添加到上一个答案
以简单的方式,通常在C#中,我们有值类型和引用类型,引用类型具有引用,并且可以分配空值但不能分配值类型null因为它们没有任何引用,通过术语引用它只是32或64位数字,它不是引用对象所在进程的虚拟内存空间的地址,而指针是进程的实际虚拟内存空间提到对象生命,C#既有指针(不安全)也有引用的概念。
回过头来看,T?
是Nullable<T>
我们使用它的很大原因是sql接受int,float或C#中值类型的任何类型的null值,所以当有人试图从sql获取值 int 但是 null ,当我们尝试在值类型上输入null时会出现错误,因此解决方案是可为空的类型。
<强>参考文献:强>