C# Dynamic在LINQ查询中应用

   2024-10-08 2750
核心提示:C#中的动态类型可以在LINQ查询中灵活应用,使得查询更加动态和通用。下面是一个示例:假设有一个动态对象列表,我们想要根据用户

C#中的动态类型可以在LINQ查询中灵活应用,使得查询更加动态和通用。下面是一个示例:

假设有一个动态对象列表,我们想要根据用户输入的条件动态查询这个对象列表。可以使用动态类型来实现:

using System;using System.Collections.Generic;using System.Linq;class Program{    static void Main()    {        var dynamicObjects = new List<dynamic>        {            new { Id = 1, Name = "Alice", Age = 25 },            new { Id = 2, Name = "Bob", Age = 30 },            new { Id = 3, Name = "Charlie", Age = 35 }        };        Console.WriteLine("Enter a property name to filter by:");        string propertyName = Console.ReadLine();        Console.WriteLine("Enter a value to filter by:");        string filterValue = Console.ReadLine();        var filteredObjects = dynamicObjects.Where(obj => obj.GetType().GetProperty(propertyName).GetValue(obj).ToString() == filterValue);        foreach (var obj in filteredObjects)        {            Console.WriteLine($"Id: {obj.Id}, Name: {obj.Name}, Age: {obj.Age}");        }    }}

在这个示例中,我们首先创建了一个包含三个动态对象的列表。然后用户输入要过滤的属性名称和值,我们使用动态类型进行过滤,最后输出符合条件的对象。

通过使用动态类型在LINQ查询中,我们可以实现更加灵活和通用的查询,不需要提前指定对象的属性和类型,可以根据用户输入任意属性来进行过滤。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号