小编在看代码的时候看到list集合中有人使用ml = ml.OrderBy(p =>
Guid.NewGuid()).ToList();于是就懵了,orderby后面还可以放list中不存在的字段
Guid.NewGuid(),请看下面的解释
用C#3.0新增的Linq技术中的OrderBy方法排序,排序的依据是与原序列元素对应生成的一个“键”——Grid.NewGuid()方法返回的一个随机32位不重复Guid字符串。因为每次生成的Guid字符串大小都不同,且大小与生成先后无关,所以按这个“键”排序后的整数序列的顺序是随机的。
List<ImageModel> ml = new List<ImageModel>();
StreamReader sR = File.OpenText(HttpContext.Current.Server.MapPath("/PicData.txt"));
string nextLine;
while ((nextLine = sR.ReadLine()) != null)
{
if (nextLine != "")
ml.Add(new ImageModel()
{
ID = nextLine.Split('#')[0],
Ground = nextLine.Split('#')[1],
Map = nextLine.Split('#')[2],
X = nextLine.Split('#')[3],
});
}
sR.Close();
ml = ml.OrderBy(p => Guid.NewGuid()).ToList();