use*_*438 2 c# collections ienumerable
在C#中
IEnumerable<MyModel> test = _blah.tolist();
Run Code Online (Sandbox Code Playgroud)
现在我可以循环测试,但如何添加项目?
请不要告诉我添加项目没有意义,我已经看过那篇文章.
我想知道的是,如果我循环浏览10个项目,我该如何再添加一个项目,以便循环浏览11个项目?
也没有.Add()方法
使用 LINQ-to-objectConcat构建一个新的对象IEnumerable,迭代第一个对象,然后迭代第二个对象:
IEnumerable<MyModel> test = _blah.tolist();
IEnumerable<MyModel> second = new[] { theItem };
IEnumerable<MyModel> elevenItems = test.Concat(second);
Run Code Online (Sandbox Code Playgroud)
IEnumerable是一个界面.您不能Add()在IEnumerable上使用,因为它们不需要实现Add()方法.请参阅MSDN上的IEnumerable文档.
而是创建一个继承自IList接口的通用列表.使用该接口的类型必须实现.IListAdd()
List<MyBlahType> test = _blah.tolist();
test.Add(new MyBlahType());
Run Code Online (Sandbox Code Playgroud)
如果您仍想使用接口来避免具体类型,请IList直接使用.
IList<MyBlahType> test= _blah.tolist();
test.Add(new MyBlahType());
Run Code Online (Sandbox Code Playgroud)
顺便说一下,通常认为使用下划线启动变量/类型名称并且不使用适当的大写字母时样式很差.C#中的首选样式是使用PascalCase或camelCase进行大写.
| 归档时间: |
|
| 查看次数: |
8274 次 |
| 最近记录: |