【问题标题】:Move an item in a List<SelectListItem> to the top [duplicate]将 List<SelectListItem> 中的项目移动到顶部 [重复]
【发布时间】:2014-08-01 10:56:33
【问题描述】:

我的 cshtml 中有一个列表

List<SelectListItem> country = ViewData["Country"] as List<SelectListItem>;

基本上我想定位带有“British”文本的那个,将其删除,然后将其插入顶部,我有一些代码,但我无法全部弄清楚。

这是我的代码

//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);

【问题讨论】:

  • nationality.Remove(british);,但记得确保它不为空。
  • 正如 pswg 所说的 Remove() 和另一个使用 nationality.FirstOrDefault(x =&gt; x.Text == "British") 使其更简单的提示

标签: c# asp.net razor


【解决方案1】:

你可以这样做:

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

nationality.Remove(british); //remove it

nationality.Insert(0, british); // insert at first

注意:

记住FirstOrDefault() 将返回null 如果在列表中找不到项目。

【讨论】:

  • “记住 FirstOrDeafault() 将在列表中找不到项目时抛出异常。” 不,它将返回默认值。
猜你喜欢
  • 2023-03-10
  • 1970-01-01
  • 2017-12-25
  • 2010-12-12
  • 2015-08-24
  • 2017-10-13
  • 2018-04-25
  • 2012-06-13
  • 2022-11-01
相关资源
最近更新 更多