private void nativeGroupDDL_SelectedValueChanged(object sender, EventArgs e) { ItemGroup itemGroup = (ItemGroup)_nativeGroupDDL.SelectedItem; var descriptors = NativeManager.GetDescriptorsByItemGroup(itemGroup); var namedDescriptors = new List <NativeDescriptor>(); var unamedDescriptors = new List <NativeDescriptor>(); foreach (var descriptor in descriptors) { if (descriptor.NativeName.StartsWith("_0x")) { unamedDescriptors.Add(descriptor); } else { namedDescriptors.Add(descriptor); } } var namedDescriptorsSorted = namedDescriptors.OrderBy(v => v.NativeName).ToList(); var unamedDescriptorsSorted = unamedDescriptors.OrderBy(v => v.NativeName).ToList(); namedDescriptorsSorted.AddRange(unamedDescriptorsSorted); _nativeNameDDL.DataSource = namedDescriptorsSorted; }