猿问

如何创建下面描述的涉及列表和数组的方法

我正在学习 C#,并被赋予创建一个方法的任务,该方法将字符串数组列表作为参数,并允许您提供任意数量的数组,该方法将所有数组作为一个列表返回。我知道关键字 params 在这种情况下不起作用,而且我知道 ToList 和 ToArray。我遇到的麻烦是论证部分。怎么可能随心所欲地提供尽可能多的“数组”?



婷婷同学_
浏览 74回答 1
1回答

森林海

List<string[]>是可以容纳任意数量数组的数据结构。它可以作为参数传递给函数。//Parameter listOfArrays contains 0-n arrays of stringspublic List<string> FlattenLists(List<string[]> listOfArrays){&nbsp; &nbsp; var returnValue = new List<string>();&nbsp; &nbsp; foreach (var array in listOfArrays)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; returnValue.AddRange(array);&nbsp; &nbsp; }&nbsp; &nbsp; return returnValue;}我将我的方法命名FlattenLists为它接受 0-n 个字符串数组并返回一个包含所有字符串的列表。这是您如何使用它的示例:var listOfArrays = new List<string[]>();listOfArrays.Add(new string[] { "value1", "value2" });listOfArrays.Add(new string[] { "value3", "value4" });listOfArrays.Add(new string[] { "value5", "value6" });var singleList = FlattenLists(listOfArrays);//singleList now contains 6 items ("value1"-"value6")我在这里同时使用了List类和string[]- 数组。这两者之间最显着的区别是List大小可以在运行时修改,但数组大小是固定的。通用集合List 是灵活的数据结构,您可以使用它创建更深的层次结构(例如List<List<List<string>>>)。
随时随地看视频慕课网APP
我要回答