C# 如何设置列表<;未知类型>;到列表<;对象>;
我有一个大问题,我有一个函数。这个函数有一个对象类型的参数,所以我可以接收一个简单的对象或一个未知类型的列表 如果我的对象参数是列表,我需要将他的值设置为C# 如何设置列表<;未知类型>;到列表<;对象>;,c#,list,collections,C#,List,Collections,我有一个大问题,我有一个函数。这个函数有一个对象类型的参数,所以我可以接收一个简单的对象或一个未知类型的列表 如果我的对象参数是列表,我需要将他的值设置为list。我不知道怎么做 例如: var m_list = new List<String>(){"a","b","c"}; MyFunction(m_list); var m_list=newlist(){“a”、“b”、“c”}; MyFunction(m_列表); 功能 private void MyFunction(Ob
list
。我不知道怎么做
例如:
var m_list = new List<String>(){"a","b","c"};
MyFunction(m_list);
var m_list=newlist(){“a”、“b”、“c”};
MyFunction(m_列表);
功能
private void MyFunction(Object parameter){
List<Object> myObjectsList= new List<Object>;//I need set the values of parameter to this object
}
private void MyFunction(对象参数){
List myObjectsList=new List;//我需要设置这个对象的参数值
}
将其强制转换到非通用的IEnumerable
界面(或ICollection
或IList
):
然后,您可以不使用泛型直接循环这些项,或者使用LINQ将它们复制到列表中
myObjectsList =m_list.Cast<object>().ToList()
myObjectsList=m_list.Cast().ToList()
真正的问题是,为什么将列表作为对象传递到方法中
,只是为了将对象强制转换为列表
?至少将参数更改为IList
;您可能会因为IEnumerable
想要使用“object”的任何原因而逍遥法外?在某种程度上违背了泛型的目的。
myObjectsList =m_list.Cast<object>().ToList()