将List <SelectListItem>中的项目移到顶部

Can*_*vas 0 c# asp.net razor

我在cshtml中有一个列表,像这样

List<SelectListItem> country = ViewData["Country"] as List<SelectListItem>;
Run Code Online (Sandbox Code Playgroud)

基本上,我想针对带有“英国”文本的目标,将其删除,然后将其插入顶部,我有一些代码,但我想不通。

这是我的代码

//Move British to the top in Nationality
var british = nationality.Where(x => x.Text == "British").FirstOrDefault();
//Not sure how to remove british
nationality.Insert(0, british);
Run Code Online (Sandbox Code Playgroud)

Ehs*_*jad 5

您可以这样操作:

var british = nationality.FirstOrDefault(x => x.Text == "British"); // get item

nationality.Remove(british); //remove it

nationality.Insert(0, british); // insert at first
Run Code Online (Sandbox Code Playgroud)

注意:

如果在列表中未找到项目,则记住FirstOrDefault()会返回null

  • *“如果在列表中未找到item,请记住FirstOrDeafault()将引发异常。” *否,它将返回默认值。 (2认同)