[英]Converting Datatypes in c#
这是我的C#类:
public class myClass {
// Some properties irrelevant to the question
public List<someObject> ListOfStuff { get; set; }
}
public class someObject {
public string Id { get; set; }
public string Name { get; set; }
}
问题:是否可以将所有Id
提取到一个单独的数组中,并将所有Name
提取到另一个单独的数组中?
例如,像这样:
myClass foo;
// Populate foo...
List<string> names = foo.ListOfStuff( what goes here? );
你可以使用LINQ的Select
方法来做到这一点:
List<string> names = foo.ListOfStuff.Select(x => x.Name).ToList<string>();
List<string> ids = foo.ListOfStuff.Select(x => x.Id).ToList<string>();
LINQ使这很容易:
var idArray = ListOfStuff.Select(item => item.Id).ToArray();
要获取名称数组,只需在Select()方法中更改您选择的属性即可。
以下是linq查询,以完成您要执行的操作:
IEnumerable<string> names = foo.ListOfStuff.Select(f => f.Name);
IEnumerable<string> IDs = foo.ListOfStuff.Select(f => f.Id);
如果你想将它们存储在List
,那么只需将ToList()
到这些查询的末尾:
List<string> IDs = foo.ListOfStuff.Select(f => f.Id).ToList();
List<string> Names = foo.ListOfStuff.Select(f => f.Name).ToList();
您可以使用LINQ来完成此任务,例如
List<string> names = foo.ListOfStuff.Select(x => x.Name).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.