C# 使用GUID从列表中随机选择5行

C# 使用GUID从列表中随机选择5行,c#,random,lambda,guid,C#,Random,Lambda,Guid,如何使用GUID获取随机选择的项目? 我尝试了以下方法,但没有排序 var Query1 = (from _factor in db.tblFactors orderby Guid.NewGuid() select _factor) .Take(5); var Query2 = (db.tblFactors .Select(x => new { x.ID, x.Cost, x.UserID, fldOrder = Guid.NewGuid() }) .Or

如何使用GUID获取随机选择的项目? 我尝试了以下方法,但没有排序

var Query1 = (from _factor in db.tblFactors orderby Guid.NewGuid() select _factor)
     .Take(5);
var Query2 = (db.tblFactors
    .Select(x => new { x.ID, x.Cost, x.UserID, fldOrder = Guid.NewGuid() })
        .OrderBy(x => x.fldOrder))
        .Take(5);
当然,这里的问题有两个:

-一是我的代码不起作用的原因

-其次,使用GUID进行随机选择的此方法是否为真

List\u factor=db.tblFactors.ToList();
List<tblFactor> _factor = db.tblFactors.ToList();
_factor = _factor.OrderBy(o => Guid.NewGuid()).ToList();
_factor = _factor.Take(5).ToList();
lst1.DataSource = _factor;
lst1.DataBind();
_factor=_factor.OrderBy(o=>Guid.NewGuid()).ToList(); _factor=_factor.Take(5.ToList(); lst1.DataSource=_因子; lst1.DataBind();
使用GUID从列表中随机选择5行


修正

对于问题2,请检查谢谢,但这无助于解决问题。由于GUID生成创建了相当有序的结果(接近相同但不完全相同,它们会有很多共同点),因此我看不到任何随机性。也许输入一个真正的随机数,然后按顺序排列,这是一个更好的策略?事实上,我怀疑第一行或最后5行的概率很高。基于此,由于GUID限制,这里的问题有些无法回答。非常感谢,但这个问题是问我的,我认为他回答了那个问题!那么,如何获得随机选择的列表!?