gpt4 book ai didi

c# - 基于数组排序列表

转载 作者:行者123 更新时间:2023-11-30 20:45:12 24 4
gpt4 key购买 nike

我正在尝试根据字符串数组对自定义列表进行排序,但我失败得很惨,例如它根本没有对列表进行排序,

Public class CrateOrder
{
public int Id { get; set; }
public string Name { get; set; }
public Stream OrderStream { get; set; }
}

string[] selectedFruits = {"Apple", "Mango"}; // in real get from web services
var selectedFruitsList = selectedFruits.ToList();

List<CrateOrder> cFruit = GetCrateOrderFromWebServices();

var sorted = cFruit.OrderBy(s => selectedFruitsList.IndexOf(s.Name)).ToList();

它没有正确排序列表,我希望基于 selectedFruits 对 CrateOrder 列表项进行排序...

最佳答案

如果您的水果的 Name 属性与您的订购列表不完全匹配,IndexOf 将始终返回 -1。要解决此问题,请指定不区分大小写的 StringComparison,但它不能作为 IndexOf 的重载,因此您必须使用稍微复杂一些的方法:

var sorted = cFruit.OrderBy(
s => selectedFruitsList.FindIndex(
x => x.Equals(s.Name, StringComparison.OrdinalIgnoreCase)) )
.ToList();

关于c# - 基于数组排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479713/

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