我正在制作一个自定义网格,接受IEnumerable作为Itemsource.但是我在删除方法期间无法删除itemsource中的Item.你们能帮我使用下面的代码吗?
static void Main(string[] args)
{
List<MyData> source = new List<MyData>();
int itemsCount = 20;
for (int i = 0; i < itemsCount; i++)
{
source.Add(new MyData() { Data = "mydata" + i });
}
IEnumerable mItemsource = source;
//Remove Sample of an mItemSource
//goes here ..
}
public class MyData { public string Data { get; set; } }
Run Code Online (Sandbox Code Playgroud)
你不能. IEnumerable(及其通用对应物IEnumerable<T>)仅用于 - 枚举某些集合的内容.它没有提供修改集合的工具.
如果您正在寻找提供修改集合的所有典型方法的接口(例如,添加,删除),那么请查看ICollection<T>或者IList<T>是否需要按索引访问元素.
或者,如果您的目标是提供IEnumerable某些内容,但删除了某些项目,请考虑Enumerable.Except()将其过滤掉(因为它是枚举的).
| 归档时间: |
|
| 查看次数: |
9276 次 |
| 最近记录: |