C#学习教程:在C#中返回两个列表我只需要一个简单有效的解决方案来解决我的问题。提前致谢。有很多方法。返回列表的集合。这不是一个好方法,除非您不知道列表的数量或者它是否超过2-3个列表。publicstaticIEnumerable>Method2(int[]array,intnumber){returnnewList>{list1,list2};}创建一个包含列表属性的对象并返回它:publicclassYourType{publicListProp1{get;放;}publicListProp2{get;放;}}publicstaticYourTypeMethod2(int[]array,intnumber){returnnewYourType{Prop1=list1,Prop2=list2};}返回两个列表的元组——如果使用C#7.0元组,特别方便;}var(l1,l2)=Method2(arr,num);C#7.0之前的元组:publicstaticTuple,List>Method2(int[]array,intnumber){returnTuple.Create(list1,list2);}//用法vartuple=Method2(arr,num);varfirstList=tuple.Item1;varsecondList=tuple.Item2;我会选择选项2或3,具体取决于编码风格以及此代码在更大范围内的适用性。在C#7.0之前,我可能会建议选项2。方法1publicstaticvoidMethod2(int[]array,outListlist1,outListlist2,intnumber){list1=newList();list2=新列表();...}方法2publicstaticTuple,List>Method2(int[]array,intnumber){list1=newList();list2=新列表();...returnTuple.Create(list1,list2)}方法3创建一个带有2个道具的list1list2,一个返回该类的类或只是一个列表数组最后在C#7上你可以做publicstatic(Listlist1,Listlist2)Method2(int[]array,intnumber){...return(list1,list2)}如果您使用的是更高版本的.NET和C#,则只需使用元组(您可能需要安装包“System.ValueTuple")publicstaticvoidMethod1(){int[]array1={};整数1=1;(列表listA,列表listB)=Method2(array1,number1);}publicstatic(List,List)Method2(int[]array,intnumber){Listlist1=newList();列表list2=newList();返回(列表1,列表2);//你可以看看将返回结构化为一个二维数组。这基本上是一个可以显示为图形的列表列表,其中每个“坐标”都包含一个值。这是一个创建二维数组的示例,将值添加到点[0,2],然后从该点获取其值并将其写入屏幕:double[,]myNumbers=newdouble[4,3];我的数字[0,2]=21.2;Console.WriteLine(myNumbers[0,2]);产量:21.2您应该将所需的列表作为对调用函数的引用传递。例如publicstaticvoidMethod1(){ListlistA,listB;Method2(array1,number1,reflistA,reflistB);}publicstaticvoidMethod2(int[]array,intnumber,refListlistA,refListlistB){//...在这里做东西listA.Add(array[value]);listB.Add(数组[值]);一个更好的做法IMO是将两个列表传递给你想要的方法,并在方法本身中初始化/分配它们。示例:以上是C#学习教程:返回C#中两个列表共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——publicstaticvoidMethod2(int[]arr,Listlist1,Listlist2){list1=arr.OfType()。列表();list2=arr.OfType().ToList();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
