当前位置: 首页 > 编程语言 > C#

创建N个对象并将它们添加到列表中分享

时间:2023-04-11 00:58:40 C#

创建N个对象并将它们添加到列表中我有一个方法,它接受N,我要创建的对象的数量,我需要返回一个N的列表对象。目前我可以用一个简单的循环来做到这一点:privatestaticIEnumerableCreate(intcount,stringfoo){varmyList=newList();对于(vari=0;ix=newMyObj{bar=foo});但这似乎填满了我的清单。我尝试将选择更改为foreach但相同的事务。我意识到列表具有计数功能,而LINQ找不到任何要迭代的元素。myList.ForEach(x=>x=newMyObj{bar=foo});是否有正确的LINQ运算符可用于实现此目的?还是我应该坚持循环?您可以使用范围创建序列:returnEnumerable.Range(0,count).Select(x=>newMyObj{bar=foo});如果你想创建一个列表,你必须ToList它。但请注意,它(可以说)是一个非显而易见的解决方案,所以不要放弃创建列表的迭代方法。您可以像这样创建一个通用的辅助方法://Func:int参数将是每个正在创建的元素的索引。publicstaticIEnumerableCreateSequence(FuncelementCreator,intcount){if(elementCreator==null)thrownewArgumentNullException("elementCreator");}for(inti=0;iCreateSequence(FuncelementCreator,intcount){if(elementCreator==null)thrownewArgumentNullException("elementCreator");for(inti=0;i然后你可以像这样使用它们:intcount=100;varstrList=CreateSequence(index=>index.ToString(),count).ToList();stringfoo="foo";varmyList=CreateSequence(()=>newMyObj{Bar=foo},计数).ToList();您可以使用Enumerable.RepeatIEnumerablelistOfMyObjetcs=Enumerable.Repeat(CreateMyObject,numberOfObjects);有关详细信息,请阅读https://msdn.microsoft.com/en-us/library/bb348899(v=vs.110).aspx以上就是C#学习教程:创建N个对象加入列表分享全部内容,如果对大家有用还需要了解更多C#学习教程,希望大家多多关注对吧——本文收集自网络,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处: