gpt4 book ai didi

c# - 对通用列表进行排序,并允许两个名称始终位于顶部并进行其余排序

转载 作者:行者123 更新时间:2023-12-03 22:03:17 26 4
gpt4 key购买 nike

私有(private)列表节点 = new List();

ISilverNodeModel 类中有一个字符串类型的标签字段。

假设节点列表是:

马尔科姆,西姆,埃里克,桑德里亚

我希望马尔科姆和桑德里亚始终处于首位,其余的都可以排序。

我正在这样做,但一切都很好:

nodes.Sort((node1, node2) => node1.Label. CompareTo( node2.Label));

最佳答案

您可以编写自己的 IComparer,并在 Sort 方法中使用该实现。

您的实现可以确定 malcolm 和 sandra 始终小于任何其他标签。

public class MySorter : IComparer<ISilverNodeModelClass>
{
public int Compare( ISilverNodeModelClass left, ISilverNodeModelClass right )
{
if( left.Label.Equals (right.Label) )
return 0;

if( left.Label == "malcolm" || left.Label == "sandra" )
return Int32.MinValue;

if( right.Label == "malcolm" || right.Label == "sandra" )
return Int32.MaxValue;

return Comparer<string>.Default.Compare (left.Label, right.Label);
}
}

关于c# - 对通用列表进行排序,并允许两个名称始终位于顶部并进行其余排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com