首页主机资讯C# Dynamic在LINQ查询中应用

C# Dynamic在LINQ查询中应用

时间2024-06-25 20:08:03发布访客分类主机资讯浏览250
导读:C#中的动态类型可以在LINQ查询中灵活应用,使得查询更加动态和通用。下面是一个示例: 假设有一个动态对象列表,我们想要根据用户输入的条件动态查询这个对象列表。可以使用动态类型来实现: using System; using System....

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查询中,我们可以实现更加灵活和通用的查询,不需要提前指定对象的属性和类型,可以根据用户输入任意属性来进行过滤。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C# Dynamic在LINQ查询中应用
本文地址: https://pptw.com/jishu/684126.html
C# Dynamic动态绑定的局限性 C# Dynamic与ExpandoObject对比

游客 回复需填写必要信息