Those aren't Dictionary entries: a Dictionary is a specific collection that has a Key (which must be unique) and a Value (which doesn't have to be).
Dictionaries are not normally sorted: it works as a Hash Table, so sorting by key or value would slow down access. There is however a SortedDictionary class that does sort by Key, but retrieval is slower than a standard Dictionary as it is stored as a list, rather than a Hash Table.
If, however, you have a list containing string values of fractions, and you want to sort that, you need to convert them to a numeric value first:
private void myButton_Click(object sender, EventArgs e)
{
List<string> fractions = new List<string>() {
"6 3/4", "9 3/4", "11 1/4", "15 1/4", "8 1/2",
"11 7/8","14 3/4","16","19 5/8","13 1/2","7"};
List<string> sortedFractions = fractions.OrderBy(f => ToValue(f)).ToList();
foreach (string s in sortedFractions)
{
Console.WriteLine(s);
}
}
private static double ToValue(string fraction)
{
double result = 0.0;
string[] parts = fraction.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length > 0)
{
result = double.Parse(parts[0]);
if (parts.Length > 1)
{
parts = parts[1].Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length == 2)
result += double.Parse(parts[0]) / double.Parse(parts[1]);
}
}
return result;
}