繁体   English   中英

在c#中转换数据类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM