【发布时间】:2016-02-02 05:46:23
【问题描述】:
我有一个Array
Array[] Values;
我使用此代码对 Array 进行了排序
List<Object> val= new List<Object>();
foreach (var arr in Values)
{
if (arr.GetValue(1, 9).Equals("Impact"))
val.Add(arr);
}
foreach (var arr in Values)
{
if (arr.GetValue(1, 9).Equals("Critical"))
val.Add(arr);
}
foreach (var arr in Values)
{
if (arr.GetValue(1, 9).Equals("High"))
val.Add(arr);
}
foreach (var arr in Values)
{
if (arr.GetValue(1, 9).Equals("Medium"))
val.Add(arr);
}
foreach (var arr in Values)
{
if (arr.GetValue(1, 9).Equals("Low"))
val.Add(arr);
}
现在我必须将 List val 转换回 System.Array[]。
我曾尝试使用Values = val.ToArray(); 执行此操作,但编译错误是object[] 无法隐式转换为System.Array[]。
有什么方法可以将List<object> 显式转换为System.Array[] 吗?
或者有没有其他方法可以对Values进行排序?
【问题讨论】:
-
Array[]的数据类型是什么? -
您存储在 Array[] 中的元素的数据类型是什么?
-
让我们说它的数据类型 Class1 然后你可以声明你的列表 List
val= new List ();然后 list.toArray 工作。 -
List<Object>或无类型数组的有效用例确实很少 - 您可能需要重新考虑这种方法并进行更多阅读!