首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从c#中的泛型类返回的列表,但是List (协变量)没有在主类中更新吗?

从c#中的泛型类返回的列表,但是List (协变量)没有在主类中更新吗?
EN

Stack Overflow用户
提问于 2020-01-13 13:31:20
回答 1查看 57关注 0票数 0

从c#返回泛型列表的Class1代码

代码语言:javascript
复制
private void Form1_Load(object sender, EventArgs e)
{
Class1<int> obj = new Class1<int>();
List<int> covariant = new List<int>();
covariant = obj.mark();
System.Console.WriteLine(covariant[0]);
}

   public class Class1<T>  
   {
       public List<T> mark()
       {
        List<object> covariant = new List<object>();
        covariant.Add(5);        *unable to get value in covariant list defined. Getting null vlaue*
        return covariant as List<T>;
       }
    }

无法在定义的协变量列表中获得值。获得空vlaue,无法在定义的协变量列表中获得值。获得空vlaue,无法在定义的协变量列表中获得值。获得空vlaue,无法在定义的协变量列表中获得值。获得空vlaue

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 13:51:38

如果要在方法中显式使用Generics,我认为不应该使用int

这应该是您第一个不应该使用泛型的hint。下面是您的类在更恰当地使用泛型时的样子。

代码语言:javascript
复制
public class Class1<T>
    {
        private List<T> covariants = new List<T>();

        public List<T> mark(T item)
        {
            covariants.Add(item);
            return covariants;
        }
    }

var s = new Class1<int>.mark(5)将返回一个计数1的列表,s.mark(10)将返回一个包含两个项的列表。

有关c#泛型的更多信息,请阅读docs -> https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59717659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档