从List <>中获取单个随机元素的最佳方法是什么?

Dav*_*len 6 .net linq

我需要从列表中获取一个随机元素(这不是列表中的两个值).以下工作正常:

Company dest = companies
    .Where(cpy => cpy != src && cpy != plyr.PowerUpInAction.Passenger.Destination)
    .OrderBy(pu => rand.Next())
    .ToList()[0];
Run Code Online (Sandbox Code Playgroud)

有更好的(即更有效的)方法吗?转换为列表让我感到额外的工作.

谢谢 - 戴夫

Tru*_*die 3

你可以做.First()而不是.ToList()[0]