gpt4 book ai didi

c# - 列表排序优先特定值

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:18 24 4
gpt4 key购买 nike

我想对这个字符串列表进行排序,优先考虑某个字符串。除此之外,普通的字符串排序就可以了。

在这个例子中,“Why am I so dumb?”,这是我们可以从这个问题中得到的最明显的东西,旨在排在列表的顶部。

static void Main(string[] args)
{
List<string> stringList = new List<string>()
{ "foo", "bar", "why am I so dumb?", "tgif" };

stringList.Sort(StringListSorter);

stringList.ForEach(x => Console.Out.WriteLine(x));
}

static int StringListSorter(string s1, string s2)
{
int retVal = 0;

if (s1 == "why am I so dumb?")
{
retVal = -1;
}
else
{
retVal = s1.CompareTo(s2);
}

return retVal;
}

在此示例中,希望位于顶部的字符串位于列表中间的某个位置。

最佳答案

您的比较例程不完整。您已经说明了 s1 == "why am I so dumb?" 的情况,但没有说明 s2 == "why am I so dumb?" 的情况,或者两者 都是“为什么我这么笨?”。添加这些案例应该可以解决问题(此外,您可以通过从案例中returning 来简化它):

static int StringListSorter(string s1, string s2)
{
if (s1 == s2)
return 0;
if (s1 == "why am I so dumb?")
return -1;
if (s2 == "why am I so dumb?")
return 1;
return s1.CompareTo(s2);
}

关于c# - 列表排序优先特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066978/

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