gpt4 book ai didi

c# - 根据另一个列表过滤通用列表

转载 作者:太空宇宙 更新时间:2023-11-03 21:35:56 25 4
gpt4 key购买 nike

我有一个通用列表,需要根据另一个列表(例如 List<string> )进行过滤。

public class Model
{
public string ID { get; set;}
public string Make { get; set;}
}

List<Model> lstModel = new List<Model>();

而lstModel如下

 ID      Make
---- -----------
5 MARUTI
4 BENZ
3 HYUNDAI
2 HONDA
1 TOYOTA

我还有另一个列表,其中只包含汽车制造商,即

List<string> lstMakers = new List<string>() {"MARUTI", "HONDA"};

1) 我需要过滤仅包含 lstMakers 中项目的 lstModel。 输出将是

 ID      Make
---- -----------
5 MARUTI
2 HONDA

2) 基于输出 (1),需要另一个 id 列表,每个项目按降序递增 1, 输出将是 List<int>即,

  6
5
3
2

注意:使用lambda表达式/linq更可取

最佳答案

1)

var list1 = lst.Where(x=>lstMakers.Contains(x.Make)).ToList();

2)

var list2 = list1.Select(x=>int.Parse(x.ID)+1)
.Concat(list1.Select(x=>int.Parse(x))
.OrderByDescending(x=>x)
.ToList();

关于c# - 根据另一个列表过滤通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878138/

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