How to generate with Dictionary about duplicate values? :     public class DataClass
    {
    	public int Number1 {get; set;}
    	public int Number2 {get; set;}
    }

    List<DataClass> list = new List<DataClass>();
    list.Add(new DataClass {Number1= 1, Number2 = 100});
    list.Add(new DataClass {Number1= 2, Number2 = 100});
    list.Add(new DataClass {Number1= 3, Number2 = 101});
    list.Add(new DataClass {Number1= 4, Number2 = 102});
    list.Add(new DataClass {Number1= 5, Number2 = 103});
    list.Add(new DataClass {Number1= 6, Number2 = 104});
    list.Add(new DataClass {Number1= 7, Number2 = 104});	

I have duplicate value about number2 and I want to generate a Dictionary like to below expect a result.

    Key = 1, value = {Number1 = 1, Number2 = 100}
    Key = 1, value = {Number1 = 3, Number2 = 101}
    Key = 1, value = {Number1 = 4, Number2 = 102}
    Key = 1, value = {Number1 = 5, Number2 = 103}
    Key = 1, value = {Number1 = 6, Number2 = 104}
    Key = 2, value = {Number1 = 2, Number2 = 100}
    Key = 2, value = {Number1 = 7, Number2 = 104}

I would like to receive an optimal algorithm.
