using System.Collections.Generic;
public static void Main()
var dick = new Dictionary<OperationType, OpenApiOperation>
[OperationType.Put] = null,
[OperationType.Get] = null,
[OperationType.Delete] = null,
[OperationType.Post] = null,
var newDick = SortOperationsByType(dick, new OperationTypeComparer());
foreach (var key in newDick.Keys)
public enum OperationType { Get, Post, Put, Delete }
public class OpenApiOperation { }
public class OperationTypeComparer : IComparer<OperationType>
public int Compare(OperationType x, OperationType y) =>
GetOrder(x) - GetOrder(y);
private int GetOrder(OperationType operationType) =>
OperationType.Delete => 4,
static IDictionary<OperationType, OpenApiOperation> SortOperationsByType(
IDictionary<OperationType, OpenApiOperation> operations, IComparer<OperationType> comparer) =>
new SortedDictionary<OperationType, OpenApiOperation>(operations, comparer);