Example of converting dictionary to IEnumerable.
using System;
using System.Collections;
using System.Collections.Generic;
namespace GetEnumerator
{
class Program
{
static void Main(string[] args)
{
GetEnumeratorDict getEnumerator = new GetEnumeratorDict();
foreach (KeyValuePair<int, string> getEnumeratorItem in getEnumerator)
{
Console.WriteLine($"getEnumeratorItem: {getEnumeratorItem}");
}
Console.WriteLine("Press any key ");
Console.ReadKey();
}
}
class GetEnumeratorDict : IEnumerable
{
readonly Dictionary<int, string> m_internalDictionary = new Dictionary<int, string>();
public GetEnumeratorDict()
{
m_internalDictionary[1] = "test";
}
IEnumerator IEnumerable.GetEnumerator()
{
return m_internalDictionary.GetEnumerator();
}
}
}
In code line:
IEnumerator IEnumerable.GetEnumerator()
{
return m_internalDictionary.GetEnumerator();
}
You can implement your own OrderBy, something like I already explained
hier. Difference between IEnumerator and IEnumerable you can read
hier