91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# compare自定義比較

c#
小樊
99
2024-09-19 19:45:24
欄目: 編程語言

在C#中,可以使用自定義比較器(Comparer)來比較自定義對象。自定義比較器需要實現IComparer接口或繼承Comparer類。以下是使用自定義比較器的示例:

  1. 實現IComparer接口:
using System;

public class CustomComparer : IComparer
{
    private readonly string _propertyToCompare;

    public CustomComparer(string propertyToCompare)
    {
        _propertyToCompare = propertyToCompare;
    }

    public int Compare(object x, object y)
    {
        // 獲取x和y的自定義屬性值
        var valueX = GetPropertyValue(x, _propertyToCompare);
        var valueY = GetPropertyValue(y, _propertyToCompare);

        // 比較屬性值并返回結果
        return string.Compare(valueX, valueY, StringComparison.OrdinalIgnoreCase);
    }

    private static object GetPropertyValue(object obj, string propertyName)
    {
        var propertyInfo = obj.GetType().GetProperty(propertyName);
        return propertyInfo.GetValue(obj, null);
    }
}
  1. 使用自定義比較器:
using System;
using System.Collections;

public class CustomObject
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        // 創建自定義對象列表
        var objects = new ArrayList
        {
            new CustomObject { Name = "Alice", Age = 30 },
            new CustomObject { Name = "Bob", Age = 25 },
            new CustomObject { Name = "Charlie", Age = 35 }
        };

        // 使用自定義比較器對對象列表進行排序
        objects.Sort(new CustomComparer("Name"));

        // 輸出排序后的對象列表
        foreach (var obj in objects)
        {
            Console.WriteLine($"Name: {obj.Name}, Age: {obj.Age}");
        }
    }
}

在這個示例中,我們創建了一個名為CustomComparer的自定義比較器,用于比較CustomObject對象的Name屬性。然后,我們使用這個比較器對CustomObject對象列表進行排序。

0
惠东县| 黔东| 册亨县| 定南县| 杨浦区| 杭锦旗| 伊宁市| 新安县| 阜康市| 屏南县| 隆回县| 洛浦县| 喀喇沁旗| 云阳县| 海兴县| 乐清市| 青海省| 友谊县| 明水县| 颍上县| 依安县| 富裕县| 武川县| 栖霞市| 杨浦区| 德惠市| 怀来县| 大理市| 华容县| 南漳县| 大冶市| 闸北区| 大渡口区| 浏阳市| 长治市| 务川| 于都县| 女性| 扬中市| 沙坪坝区| 宝坻区|