我有一些类型的数组
private string[] linkTypes = {
"dog",
"cat",
// and so on ..
};
是的,我可以使用,
enum
但在这种情况下,它必须是字符串数组。
所以现在我有了一个名为“ LinkElement”的对象列表
private List<LinkElement> links = new List<LinkElement>();
并且这些对象具有一个称为“ Type”的字符串属性
string linkType = links[index].Type;
如果linkTypes包含元素“ dog”和“ cat”,则我的链接只能将“ dog”或“ cat”作为其类型。
我想按链接类型的顺序对列表“链接”进行排序。
表示列表顺序首先包含类型为“ dog”的链接,然后包含“ cat”类型的链接。
List<LinkElement> sortedLinks = ; // sort links
for (int i = 0; i < sortedLinks.Count; i++)
{
LinkElement currentLink = sortedLinks[i];
Console.WriteLine(currentLink.Type);
}
// Write down dogs first, cats after
有人可以帮我吗?
假设linkTypes
(私有字符串数组)与links
(的列表LinkElement
)在同一类中,则可以将LINQ的OrderBy与一个简单的lambda表达式一起使用:
var sortedLinks = links.OrderBy(le => Array.IndexOf(linkTypes, le.linkType)).ToList()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句