Geo*_*ord 69 c# vb.net generics
有没有办法到转换List(of Object)到List(of String)C#或vb.net没有通过所有的项目迭代?(幕后迭代很好 - 我只想要简洁的代码)
更新: 最好的方法可能只是做一个新的选择
myList.Select(function(i) i.ToString()).ToList();
要么
myList.Select(i => i.ToString()).ToList();
Meh*_*ari 75
没有迭代来构建新列表是不可能的.您可以将列表包装在实现IList的容器中.
您可以使用LINQ IEnumerable<string>从对象列表中获取惰性评估版本,如下所示:
var stringList = myList.OfType<string>();
小智 36
这适用于所有类型.
List<object> objects = new List<object>();
List<string> strings = objects.Select(s => (string)s).ToList();
Dan*_*fer 24
如果您想要更好地控制转换的方式,可以使用ConvertAll:
var stringList = myList.ConvertAll(obj => obj.SomeToStringMethod());
cta*_*cke 10
你的意思是这样的?
List<object> objects = new List<object>();
var strings = (from o in objects
              select o.ToString()).ToList();
小智 6
List<string> myList Str = myList.Select(x=>x.Value).OfType<string>().ToList();
使用“选择”选择特定列