请问,这种集合操作怎么处理Listobject list_1 new Listobject() { 张三,李四,王二}list_1.Ca
请问,这种集合操作怎么处理
List<object> list_1 = new List<object>() { "张三","李四","王二"};
list_1.Cast<string>();
List<string> list_2 = new List<string>();
list_2 = new List<string>(list_1); //报错。具有无效参数
list_1.ForEach(x =>list_2.Add(x)); //报错。具有无效参数
1:上面的代码,集合list_1的元素是object类型,但是通过Cast方法把元素转换成了string类型,list_2为什么不能加list_1的元素?
2:怎么把list_1的元素添加到list_2中去?
[最优解释]list_1.Cast<string>(); 这个是返回一个List<string>, 你的linst_1还是List<object>,
你可以List<string> strList = list_1.Cast<string>();
后面操作这个strList
[其他解释]List<object> list_1 = new List<object>() { "张三","李四","王二"};
list_1.Cast<string>();
List<string> list_2 = new List<string>();
//list_2 = new List<string>(list_1);
list_1.ForEach(x =>list_2.Add(x as string));
[其他解释]list_2.AddRange(list_1.Cast<string>().ToArray());
[其他解释]list_2 =list_2.Contact(list_1);
[其他解释]list_1.Cast<string>();
你这句代码没有任何意义,注意CASE方法是有返回值的,所以你的这句代码对list_1没有任何影响
你可以这样:
var list3=list_1.Cast<string>();
不过从编程角度来讲,我建议你使用OfType代替Case
[其他解释]注意Cast方法是有返回值的