Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq选择Id_C#_Linq_Umbraco - Fatal编程技术网

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; }
}