C# 使用Linq选择Id
我有一个C# 使用Linq选择Id,c#,linq,umbraco,C#,Linq,Umbraco,我有一个dynamicode命名的产品,它有产品名称和产品id。 我需要使用LINQ从DynamicNode产品中选择阵列中的所有产品id 我试过类似的东西 @helper PrintProductYearChart(IEnumerable<DynamicNode> products) { var res = products.select(x => x.filelds['Id']).ToAarray(); } @helper PrintProductYearCh
dynamicode
命名的产品,它有产品名称和产品id。
我需要使用LINQ从DynamicNode
产品中选择阵列中的所有产品id
我试过类似的东西
@helper PrintProductYearChart(IEnumerable<DynamicNode> products)
{
var res = products.select(x => x.filelds['Id']).ToAarray();
}
@helper PrintProductYearChart(IEnumerable产品)
{
var res=products.select(x=>x.filelds['Id']).ToAarray();
}
但它不能正常工作
任何人都可以帮忙。提前感谢LINQ操作符将序列的每个元素投影到一个新的形式中。您正在执行的操作将只投影一个以“Id”作为索引的元素,因此它将只返回一个元素,而不是Id的数组 在这里,你应该指定你想要的ID
@helper PrintProductYearChart(IEnumerable<DynamicNode> products)
{
var res = products.select(x => x.Id).ToArray();
}
@helper PrintProductYearChart(IEnumerable产品)
{
var res=products.select(x=>x.Id).ToArray();
}
课程计划
{
静态void Main(字符串[]参数)
{
var集合=新列表(){
新的动态代码{Id=“1”,Name=“name1”},
新的动态代码{Id=“2”,Name=“name2”}
};
//使用扩展方法和lambda表达式获取ID
string[]Ids=collection.Select(x=>x.Id).ToArray();
foreach(id中的字符串id)
控制台写入线(id);
//使用linq表达式获取ID
var linqIds=来自集合中的s
选择s.Id;
字符串[]lIds=linqIds.ToArray();
foreach(lIds中的字符串id)
控制台写入线(id);
Console.Read();
}
}
类动态节点
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
}
实际答案和预期答案有何不同?products.select和x.fields['Id']有错误。无法解析符号dynamicode
的公共界面是什么样子的?您需要我提供什么类型的信息。您澄清了上述评论吗?dynamicode的定义是什么?它有什么属性和方法?(只有掌握了这些知识,我们才能知道filelds
做了什么或使用什么。)
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; }
}