Given this class:
public class Tool
{
public int Id { get; set; }
public int Number { get; set; }
public string Source { get; set; }
}
And a list of Tools like this:
var tools = new List<Tool>()
{
new Tool {Id=444, Number=121, Source="Master"},
new Tool {Id=777, Number=121, Source="M1"},
new Tool {Id=333, Number=51, Source="Master"},
new Tool {Id=555, Number=61, Source="Master"},
new Tool {Id=848, Number=51, Source="M1"}
//Many more
};
How could I use Linq to get a list of distinct Tools by Number and if 2 tools have the same Number select the one whose source is "M1", i.e.the resulting list would contain:
Tool {Id=777, Number=121, Source="M1"}
Tool {Id=848, Number=51, Source="M1"}
Tool {Id=555, Number=61, Source="Master"}