none
范式函数如何返回null RRS feed

  • 常规讨论

  • 我有一个函数 返回值是T , 当某种特殊的时候,需要返回null。但是VS2008报告说编译错误,不知道再怎么办了。

    class MyClass <T>
    {
         public T  MyFun()
         {
               //这句话出错
               null;
          }
    2010年2月23日 9:22

全部回复

  • null不能算类型,既然是返回T类型你返回空肯定不正确。实际上VOID返回的就是NULL,你又想返回一个类型有想VOID不可能。
    2010年2月23日 9:26
  • 你好!

    返回需要使用 return。你将代码改为

    public  T MyFun()
    {
        return default(T);
    }

    知识改变命运,奋斗成就人生!
    2010年2月23日 9:30
    版主
  • 太感谢了! 如果我这样返回的话。外面调用的时候该如何判断这个特殊的返回值呢?

    MyClass<someclass>  clsObj = new ...

    someclass  rstObj = clsObj.MyFun()

    if ( rstObj == ?)
    2010年2月23日 9:36
  • 如果是引用类型,判断是否为 null 就可以了。如果是值类型,一般会返回一个固定的值,你将这个值打印出来看看就知道了。
    知识改变命运,奋斗成就人生!
    2010年2月23日 9:41
    版主
  • thank you so much!

    Charles shao
    2010年2月23日 10:17
  • Resulved
    2010年2月23日 10:17