Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数组转换为列表<;对象>;在C#中?_C#_Arrays - Fatal编程技术网

如何将数组转换为列表<;对象>;在C#中?

如何将数组转换为列表<;对象>;在C#中?,c#,arrays,C#,Arrays,如何在C#中将数组转换为列表?列表列表=myArray.Cast().ToList(); 如果数组元素的类型是引用类型,则可以省略.Cast(),因为C#4添加了接口协方差,即IEnumerable可以被视为IEnumerable List List=myArray.ToList(); 私有列表ConvertArrayToList(对象[]数组) { 列表=新列表(); foreach(数组中的对象obj) 列表。添加(obj); 退货清单; } List.AddRange(object[])

如何在C#中将
数组
转换为
列表

列表列表=myArray.Cast().ToList();
如果数组元素的类型是引用类型,则可以省略
.Cast()
,因为C#4添加了接口协方差,即
IEnumerable
可以被视为
IEnumerable

List List=myArray.ToList();
私有列表ConvertArrayToList(对象[]数组)
{
列表=新列表();
foreach(数组中的对象obj)
列表。添加(obj);
退货清单;
}
List.AddRange(object[])
应该可以做到这一点。它将避免各种无用的内存分配。
您也可以使用Linq,有点像这样:
object[].Cast().ToList()

使用构造函数:
新建列表(myArray)
列表构造函数可以接受实现IEnumerable的任何内容,因此

        object[] testArray = new object[] { "blah", "blah2" };
        List<object> testList = new List<object>(testArray);
object[]testArray=新对象[]{“blah”,“blah2”};
列表testList=新列表(testArray);
另一种方法

List<YourClass> list = (arrayList.ToArray() as YourClass[]).ToList();
List List=(arrayList.ToArray()作为您的类[])。ToList();

这允许您发送对象:

private List<object> ConvertArrayToList(dynamic array)
私有列表ConvertArrayToList(动态数组)

如果数组项和列表项相同

List<object> list=myArray.ToList();
List List=myArray.ToList();

您也可以直接使用数组初始化列表:

List<int> mylist= new List<int>(new int[]{6, 1, -5, 4, -2, -3, 9});
List mylist=newlist(newint[]{6,1,-5,4,-2,-3,9});

每个人说的都是正确的,所以

int[] aArray = {1,2,3};
List<int> list = aArray.OfType<int> ().ToList();
我希望这有帮助

以下是我的版本:

  List<object> list = new List<object>(new object[]{ "test", 0, "hello", 1, "world" });

  foreach(var x in list)
  {
      Console.WriteLine("x: {0}", x);
  }
List List=新列表(新对象[]{“test”,0,“hello”,1,“world”});
foreach(列表中的变量x)
{
WriteLine(“x:{0}”,x);
}
您可以试试这个

using System.Linq;
string[] arrString = { "A", "B", "C"};
List<string> listofString = arrString.OfType<string>().ToList();
使用System.Linq;
字符串[]arrString={“A”、“B”、“C”};
List listofString=arrString.OfType().ToList();

希望,这段代码对您有所帮助。

我看不出这个问题有什么不对-5.真的吗?+1因为这是一个简单有效的问题,所以我没有找到重复的问题。(选民应该评论或重新考虑。)可能重复的请确保您使用的是System.Linq这只在VS2015中有效吗?在VS2012下:“System.Array”不包含“Cast”的定义,并且找不到接受“System.Array”类型的第一个参数的扩展方法“Cast”(是否缺少using指令或程序集引用?),感谢
List List List=myArray.ToList()此样式的一个优点是它创建并返回列表,因此您可以附加更多方法(例如
.Contains(userName)
)。用于将一组逻辑塞进一行if语句:)中;为了让它工作;不知道为什么。
int[] aArray = {1,2,3};
List<int> list = aArray.OfType<int> ().ToList();
using System.Collections.Generic;
using System.Linq;
  List<object> list = new List<object>(new object[]{ "test", 0, "hello", 1, "world" });

  foreach(var x in list)
  {
      Console.WriteLine("x: {0}", x);
  }
using System.Linq;
string[] arrString = { "A", "B", "C"};
List<string> listofString = arrString.OfType<string>().ToList();