如何将项添加到IList <t> </t>

时间:2012-11-19 09:30:39

标签: c# .net

我有一个IList。

 IList<MyClass> MyList
    {
        get;
        set;
    }

我在页面加载中将Myclass列表复制到此

MyList=Listofmyclass;

我想在MyList中添加一个新项目

MyList.Add(NewItem);

但是当我使用此代码时,我收到错误“收集的大小固定。

如何向IList添加新项目?

3 个答案:

答案 0 :(得分:2)

我认为MyListMyClass[]。数组具有固定大小,您无法向其中添加项目。相反,如果可能的话,我会指定一个支持它的List<MyClass>

答案 1 :(得分:1)

你可能有一个固定大小的Listofmyclass实现,换句话说:

IsFixedSize == true

这可以防止添加/删除列表元素。

  

IList实现分为三类:只读,   固定大小和可变大小。无法修改只读IList。一个   固定大小的IList不允许添加或删除元素,   但它允许修改现有元素。可变大小   IList允许添加,删除和修改元素。

请参阅here

答案 2 :(得分:1)

如果集合的实际类型支持添加,则只能向IList添加项目。在你的情况下,它没有。例如,如果您使用数组,则不支持添加。

您可以使用ToList方法将您的收藏集转换为一个列表,该列表支持添加:

MyList = Listofmyclass.ToList();