簡體   English   中英

使用Linq,從列表中獲取另一個列表中的所有項目<int>

[英]Using Linq, get all items from list that are in another List<int>

我有以下場景:int List<int> idsOnly = new List<int>();List<int> idsOnly = new List<int>(); 和另一個對象列表,它應該帶來所有項目,它們的ID與列表idsOnly匹配

var myList = db.Items.Where(item => idsOnly.Contains(item.ID.Value))
                     .Select(a => new { a.Title })
                     .ToList();

我只需要從myList中獲取標題

任何幫助將不勝感激

您的代碼有效但它將創建匿名對象列表,而不是字符串類型

如果你只想獲得標題,而不是使用(a => new { a.Title } ,你只需使用a => a.Title

var myList = db.Items.Where(item => idsOnly.Contains(item.ID.Value))
                     .Select(a => a.Title).ToList();

您可以使用Join

var titlesInIdList = from item in db.Items
                     join id in idsOnly
                     on item.ID.Value equals id
                     select item.Title;
var list = titlesInIdList.ToList();
var myList =
    (from item in db.Items
    where idsOnly.Contains(item.ID.Value)
    select item.Title).ToList()

您可以嘗試(如果問題轉換:轉換為int您的Id,如果不是int類型)

var myList = db.Items.Where(item => (idsOnly.Contains(Convert.ToInt32(item.ID.Value)))).Select(a => a.Title ).ToList();

沒有轉換

var myList = db.Items.Where(item => (idsOnly.Contains(item.ID.Value))).Select(a => a.Title ).ToList();
var Result = (from item in db.Items
                 join id in idsOnly
                 on item.ID.Value equals id
                 select new {item.Title}).ToList(); //Here U can return ToArray or ToList()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM