Click here to Skip to main content
15,912,977 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear sir,


How to use Random function in LINQ?

I have 50 records, now change this automatically into random order....


How to solve this Reply me.....
Posted

1 solution

One option is to use a Comparer class inherited from IComparer<T> class as shown below:
C#
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());
}
//query output
//Name Address 
//A M 
//C O 
//D P 
//F R 
//E Q 
//B N 
//H T 
//G S 

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);	
    }
}
 
Share this answer
 
v3
Comments
Manas Bhardwaj 4-Jun-12 15:36pm    
nicely written. :) +5
VJ Reddy 4-Jun-12 19:42pm    
Thank you, Manas :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900