MyNes_src/MyNes/MLV/ManagedListViewItemsComparer.cs
2024-07-03 10:36:42 +08:00

32 lines
886 B
C#

using System;
using System.Collections.Generic;
using System.Threading;
namespace MLV;
public class ManagedListViewItemsComparer : IComparer<ManagedListViewItem>
{
private bool AtoZ = true;
private string subitemId = "";
public ManagedListViewItemsComparer(bool AtoZ, string subitemId)
{
this.AtoZ = AtoZ;
this.subitemId = subitemId;
}
public int Compare(ManagedListViewItem x, ManagedListViewItem y)
{
if (x.GetSubItemByID(subitemId) != null && y.GetSubItemByID(subitemId) != null)
{
if (AtoZ)
{
return StringComparer.Create(Thread.CurrentThread.CurrentCulture, ignoreCase: false).Compare(x.GetSubItemByID(subitemId).Text, y.GetSubItemByID(subitemId).Text);
}
return -1 * StringComparer.Create(Thread.CurrentThread.CurrentCulture, ignoreCase: false).Compare(x.GetSubItemByID(subitemId).Text, y.GetSubItemByID(subitemId).Text);
}
return -1;
}
}