gpt4 book ai didi

.net - list "order by"故障

转载 作者:行者123 更新时间:2023-12-03 23:46:09 24 4
gpt4 key购买 nike

我有一个类似学生坐的类(class)。我的位置像 B6 B7 B8 B9 B10 B11如果我在某些类中使用 FindAll(一个 oops 版本),我会按此顺序获取它一切顺利,直到我这样做

    someclass.OrderBy(r => r.location);

然后那个位置变成B10 B11 B6 B7 B8 B9这里出了什么问题。那时我不使用 orderBY 会更好,但是有人能告诉我我遇到问题的原因吗?

最佳答案

您可以实现自己的自定义比较器...

class CustomCompare : IComparer<string>
{
private static readonly char[] _digits = "0123456789".ToArray();

public int Compare(string a, string b)
{
//assuming alpha start, numeric end
var alphaA = a.TrimEnd(_digits);
var alphaB = b.TrimEnd(_digits);
var alphaCompareTo = alphaA.CompareTo(alphaB);

if (alphaCompareTo != 0)
{
return alphaCompareTo;
}

var numericA = int.Parse(a.Substring(alphaA.Length));
var numericB = int.Parse(b.Substring(alphaB.Length));

return numericA.CompareTo(numericB);
}
}

...并像这样使用它...

someclass.OrderBy(r => r.location, new CustomCompare());

关于.net - list "order by"故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14586443/

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