我用以下代码构建MyObject数组:
MyObject[] myObject = (from MyObject varObj in MyObjects
select varObj).ToArray();
Run Code Online (Sandbox Code Playgroud)
现在,我想从这个数组中提取3个随机MyObject!我怎么能在C#上做到这一点?
当然,如果数组长度<3,我需要提取所有对象!
你可以通过Linq做到这一点:
例如,随机选择3个进程:
var ps = (from p in Process.GetProcesses() orderby Guid.NewGuid() select p).Take(3);
Run Code Online (Sandbox Code Playgroud)
您也可以使用random.Next()而不是Guids(严格来说,正如LukeH所指出的,Guids是唯一的,但不是随机的).