In C# I would like to sort a List<KeyValuePair<int, string>> by the length of each string in the list. In Psuedo-Java this would be an anonymous and would look something like:
  Collections.Sort(someList, new Comparator<KeyValuePair<int, string>>( {
      public int compare(KeyValuePair<int, string> s1, KeyValuePair<int, string> s2)
      {
          return (s1.Value.Length > s2.Value.Length) ? 1 : 0;    //specify my sorting criteria here
      }
    });
The equivalent in C# would be to use a lambda expression and the Sort method:
someList.Sort((x, y) => x.Value.Length.CompareTo(y.Value.Length));
You can also use the OrderBy extension method. It's slightly less code, but it adds more overhead as it creates a copy of the list instead of sorting it in place:
someList = someList.OrderBy(x => x.Value.Length).ToList();
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With