[英]Select Id(s) using Linq
我有一個名為products的DynamicNode
產品,它有產品名稱和產品ID。 我需要使用LINQ從DynamicNode
產品中選擇所有產品id到數組。
我試過類似的東西
@helper PrintProductYearChart(IEnumerable<DynamicNode> products)
{
var res = products.select(x => x.filelds['Id']).ToAarray();
}
但它不能正常工作。
任何人都可以提供幫助。謝謝
Select
LINQ運算符將序列的每個元素投影到新表單中。 你在做什么只會投射一個'Id'作為索引的元素,所以它只返回一個元素而不是Id的數組
在這里你應該指明你想要的ID
@helper PrintProductYearChart(IEnumerable<DynamicNode> products)
{
var res = products.select(x => x.Id).ToArray();
}
class Program
{
static void Main(string[] args)
{
var collection = new List<DynamicNode>(){
new DynamicNode { Id = "1", Name = "name1"},
new DynamicNode { Id = "2", Name = "name2"}
};
//Getting Ids using extension methods and lambda expressions
string[] Ids = collection.Select(x => x.Id).ToArray();
foreach (string id in Ids)
Console.WriteLine(id);
//Gettings ids using linq expression
var linqIds = from s in collection
select s.Id;
string[] lIds = linqIds.ToArray();
foreach (string id in lIds)
Console.WriteLine(id);
Console.Read();
}
}
class DynamicNode
{
public string Id { get; set;}
public string Name { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.