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