【问题标题】:Move Items in List Randomly [duplicate]随机移动列表中的项目[重复]
【发布时间】:2025-12-15 19:35:01
【问题描述】:

我有一个包含 SelectListItem 的列表,我正在为它制作下拉列表。 这是我的列表元素的

1 Declined
2 Bad Phone
3 Medical
4 No Answer
5 Try Again
6 Left Voice mail
7 Skip 
8 Not Valid
9 Warning
10 Unemployed

列表根据它们的值排序(我在项目旁边显示了值) 我必须显示这样的元素

5 Try Again
7 Skip 
6 Left Voice mail
3 Medical
8 Not Valid
1 Declined
2 Bad Phone
4 No Answer
9 Warning
10 Unemployed

ie in Random Order, 我怎么能在 List 中进行随机排序,我可以做的一件事是找到每个项目的索引并更改其索引/位置,但这会很忙。 列表项是固定的,不是动态的。

【问题讨论】:

  • 您每次都想要不同的订单吗?
  • 如果是,请查看:*.com/a/25106237/2160375。数组有一个扩展方法,很容易改成接受IList
  • 不,我有一个排序列表,我想随机更改每个项目的顺序,新的顺序将被固定
  • 你可以试试jquery...
  • 您的第二个订单会是每次的第一个吗?还是刷新页面后会不一样?

标签: c# asp.net-mvc


【解决方案1】:

您可以使用Guid.NewGuid().ToString() 对订单进行随机排序,例如。

var lstResult = yourList.OrderBy(x => Guid.NewGuid().ToString()).ToList();

【讨论】: