【问题标题】:List out of List C# [closed]从列表 C# 中列出 [关闭]
【发布时间】:2014-08-19 20:00:35
【问题描述】:

如果我有一个这个并想要另一个,例如,我有这个,

List<User> users = GetAllUsers();

但我想要的是 Listof firstname,

List<string> firstNames = GetAllUsers();

是否可以开箱即用地将List&lt;Users&gt; 转换为List&lt;string&gt;FirstNames?

编辑

FirstName 是 User 对象的属性,是字符串。

public class User
{
   public string FirstName{get; set;}
   public string LastName{get; set;}
   public string CustomProperty{get; set;}
}

【问题讨论】:

  • 因为没有更多信息是无法回答的。 “开箱即用”是什么意思?
  • 你能把汽车改装成轮子吗? FirstName 是什么类型,如何从 Users 实例中提取它?
  • 这是其中一个重复项:stackoverflow.com/questions/9885748/… 所以如果有人想重新打开这个问题,那么只需将其作为重复项关闭即可。
  • 很抱歉打断这种欺凌行为,但很清楚,op 要求什么。下面有一个完美的答案
  • @Michał:OP 仅在几分钟前澄清了这个问题。在List&lt;string&gt; 之前是List&lt;FirstName&gt;。现在它只是一个副本。

标签: c#


【解决方案1】:

如果FirstNameUser 类的字符串属性,请尝试

List<string> firstNames = GetAllUsers().Select(x => x.FirstName).ToList();

【讨论】:

  • List如何是一个字符串列表?
  • @Infer-On 我不能 100% 确定,但猜测 PO 可能有一个名为 FirstName 的属性,类型为 string
  • @Inter-On PS。 FirstName 确实是 string 类型的属性,请参阅更新后的问题。
【解决方案2】:

使用 LINQ:

List<FirstName> firstNames = GetAllUsers().Select(x => x.FirstName).ToList();

【讨论】:

    【解决方案3】:

    当你编辑你的帖子并且你的属性是字符串时:

       List<string> firstNames = GetAllUsers().Select(x => x.FirstName).ToList();
    

    【讨论】:

      猜你喜欢
      • 2016-05-06
      • 2014-08-18
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 2021-01-25
      • 2014-03-11
      相关资源
      最近更新 更多