One option is to use a
Comparer
class inherited from
IComparer<T>
class as shown below:
void Main()
{
List<person> persons = new List<person>(){
new Person("A","M"),
new Person("B","N"),
new Person("C","O"),
new Person("D","P"),
new Person("E","Q"),
new Person("F","R"),
new Person("G","S"),
new Person("H","T")
};
var query = persons.OrderBy(p => p,new RandomComparer());
}
public class Person {
public string Name {get; set;}
public string Address {get; set;}
public Person(string name, string address){
Name = name;
Address = address;
}
}
public class RandomComparer : IComparer<person> {
Random random = new Random();
public int Compare(Person first, Person second){
return random.Next(-1,2);
}
}