相关疑难解决方法(0)

类型'string'必须是非可空类型才能在泛型类型或方法'System.Nullable <T>'中将其用作参数T.

为什么我会得到错误"类型'字符串'必须是不可为空的值类型才能在泛型类型或方法'System.Nullable'中将它用作参数'T'?"

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Universe;

namespace Universe
{
    public class clsdictionary
    {
      private string? m_Word = "";
      private string? m_Meaning = "";

      string? Word { 
          get { return m_Word; }
          set { m_Word = value; }
      }

      string? Meaning { 
          get { return m_Meaning; }
          set { m_Meaning = value; }
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# nullable

167
推荐指数
4
解决办法
13万
查看次数

c#中的类(带有文件助手) - 当其他可空类型不是时,可以为空的字符串给出错误

我有一个类(由filehelpers使用),当我尝试定义一个可空字符串时,它给出了一个错误:

public String? ItemNum;
Run Code Online (Sandbox Code Playgroud)

错误是:

 Error  1   The type 'string' must be a non-nullable value type in order 
 to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'
Run Code Online (Sandbox Code Playgroud)

即使使用小写字母也会出现这种情况string,尽管我还没有看到它们之间的区别.

使用其他类型,如int,decimal等是好的:

public decimal? ItemNum;
Run Code Online (Sandbox Code Playgroud)

一些关于网络的一般性讨论关于按字段等定义构造函数,但鉴于其他字段工作正常,字符串有什么特别之处?有一种优雅的方法可以避免它吗?

.net c# generics filehelpers nullable

4
推荐指数
1
解决办法
1310
查看次数

Type <T>的类型<T>,类型为<T>的可空值

我需要创建一个可以保存以下类型值的类: int?, decimal?, date, bool? string.

我希望能够这样做:

var x = new MyClass<int?>()  
x.Value = null;
x.value = 99;         

// or

var y = new MyClass<bool?>();
y.Value = null;
y.Value = true

// and so on
Run Code Online (Sandbox Code Playgroud)

我一直试图创建一个类型为T的类:

public class TestClass<T>
{             
    public T? Value{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想使用Value来获取任何允许的类型,但我不能使T为空.错误是:

只有非可空值类型才能成为Sysytem.Nullable的基础

无论如何都在做我想要实现的目标?

c# generics nullable

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

为什么字符串或对象类型不支持可空引用类型?

查看以下代码块:

//Declaring nullable variables.
//Valid for int, char, long...
Nullable<int> _intVar;
Nullable<char> _charVar;

//trying to declare nullable string/object variables
//gives compile time error. 
Nullable<string> _stringVar;
Nullable<object> _objVar;
Run Code Online (Sandbox Code Playgroud)

编译代码编译器时会出现以下错误消息:

类型'string'/'object'必须是非可空值类型,以便在泛型类型或方法'System.Nullable'中将其用作参数'T'

我读过好几次但仍然无法理解.任何人都可以澄清这个吗?为什么objectstring不支持可空引用类型?

c# nullable

0
推荐指数
1
解决办法
214
查看次数

标签 统计

c# ×4

nullable ×4

generics ×2

.net ×1

filehelpers ×1