有没有办法到转换List(of Object)
到List(of String)
C#或vb.net没有通过所有的项目迭代?(在后台进行迭代很好–我只需要简洁的代码)
更新: 最好的方法可能只是做一个新的选择
myList.Select(function(i) i.ToString()).ToList();
要么
myList.Select(i => i.ToString()).ToList();
Answers:
如果不迭代构建新列表,则无法实现。您可以将列表包装在实现IList的容器中。
您可以使用LINQIEnumerable<string>
从这样的对象列表中获取懒惰的评估版:
var stringList = myList.OfType<string>();
List<object>
包含string
对象的对象,而您想获取其中的一个List<string>
对象。问题不清楚输入的是什么。根据输入的规格和你的目标,你可能想选择OfType<string>
,Cast<string>()
或Select(...)
。
这适用于所有类型。
List<object> objects = new List<object>();
List<string> strings = objects.Select(s => (string)s).ToList();
如果要进一步控制转换的方式,可以使用ConvertAll:
var stringList = myList.ConvertAll(obj => obj.SomeToStringMethod());
你的意思是这样吗?
List<object> objects = new List<object>();
var strings = (from o in objects
select o.ToString()).ToList();
var userIDsSource = (from r in MigrationSession.UsersSource select r.UserID).ToList();