using System; using System.Collections.Generic; using System.Linq; class Sample { public string Value1 { get; set; } public string Value2 { get; set; } public override string ToString() { return Value1 + "/" + Value2; } } public class Test { public static void Main() { var list = new List() { new Sample{ Value1 = "Apple", Value2="Red" }, new Sample{ Value1 = "Banana", Value2="Yellow" }, new Sample{ Value1 = "Lemon", Value2="Yellow" }, }; var s = new HashSet(); list = list.Where(n => s.Add(n.Value2)).ToList(); foreach (var n in list) { Console.WriteLine(n); } } }