【发布时间】:2015-04-13 07:42:24
【问题描述】:
我正在尝试根据字符串数组对自定义列表进行排序,但我失败得很惨,例如它根本没有对列表进行排序,
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 列表项进行排序...
【问题讨论】:
-
我仍然不明白您是如何尝试将您的
cFruit与您的selectedFruits排序的。cFruit的输入和预期输出会有所帮助。 -
这对我来说看起来不错 - 也许我只是错过了同样的事情,但您确定您的 cFruit 列表项实际上具有与您 selectedFruits 匹配的 Name 属性吗?
-
这不是重复的,这里还有其他事情。
-
我怀疑这是区分大小写的问题,
IndexOf默认会进行区分大小写的搜索,除非指定不同的规则。 -
为我工作...dotnetfiddle.net/H1dt6p