【问题标题】:Add string items from array to a list of object将字符串项从数组添加到对象列表
【发布时间】:2018-10-16 06:40:49
【问题描述】:

我有一个字符串数组,定义如下:

string[] items = { "Item 1", "Item 2", "Item 3", "Item 4"};

然后我有一个模型定义为:

public class ItemModel {

        public int Id { get; set; }

        public string ItemName { get; set; }

        public bool IsItem { get; set; }
}

我已将列表定义为:

var listItems = new List<ItemModel>();

我想将数组items 中的项目添加到listItems 的对象列表中。我想将项目添加到ItemName

【问题讨论】:

标签: c# arrays linq arraylist


【解决方案1】:

这可以使用一个非常简单的 Linq 来实现:

listItems  = items.Select(i => new ItemModel { ItemName = i}).ToList();

【讨论】:

  • @JohnB 是问题重复还是答案? ;)
  • @JohnB 那么你应该对问题发表评论
  • @AshkanMobayenKhiabani 建议不要重复回答。您必须让人们搜索一下(或通过标记为重复将他们引导到正确的答案)
  • @EpicKip 你说的很对,但是我看到问题的时候没有去搜,我知道答案,所以我回答了。
【解决方案2】:

您可以将Select 用作:

  var result = items.Select(i => new ItemModel {ItemName = i}).ToList()

或者:

foreach(var item in items)
{
    listItems.Add(new ItemModel{ItemName = item});
}

【讨论】:

    【解决方案3】:

    你可以试试这个:

        listItems = items.Select(i => new ItemModel { Id = Array.IndexOf(items, i), ItemName = i, IsItem = true }).ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 2013-02-06
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      相关资源
      最近更新 更多