相关疑难解决方法(0)

为什么字符串的默认值为null而不是空字符串?

这是很烦人的测试我所有的字符串null之前,我可以放心地运用类似的方法ToUpper(),StartWith()等...

如果默认值string是空字符串,我就不用考了,我会觉得它是与其他价值类型,如更一致intdouble为例子.另外Nullable<String>有意义.

那么为什么C#的设计者选择使用null字符串的默认值呢?

注意:这与此问题有关,但更侧重于为什么而不是如何处理它.

c# string default-value

207
推荐指数
9
解决办法
16万
查看次数

类型'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# ×2

default-value ×1

nullable ×1

string ×1