2013-08-12 3 views
0

У меня есть файл ресурсов, который я прокручиваю, чтобы добавить элементы в List, и я пытаюсь выяснить, как он решает, какой элемент поставить по индексу [0], [ 1], и т.д.Как сортировать элементы в файле ресурсов

Мой код выглядит следующим образом:

... 

List<string> Questions= new List<string>(); 

ResourceManager resources = new ResourceManager(typeof(QuestionResource)); 
ResourceSet resourceSet = resources.GetResourceSet(CultureInfo.CurrentUICulture, true, true); 

foreach (DictionaryEntry entry in resourceSet) 
    { 
     Questions.Add(entry.Value.ToString()); 
    } 

result.Data = Questions; 

.... 

Теперь мой список не возвращается в алфавитном порядке, и его не возвращаться в том же порядке, в котором они перечислены в файле ресурсов.

Я хотел бы отобразить их в списке, так же, как они отображаются в файле ресурсов, который не является алфавитным.

Любые мысли?

+2

Поскольку это список , вы можете использовать '.Sort()' метод в списке, вы пробовали это ..? – MethodMan

+0

Я могу использовать '.Sort()', но я хочу отсортировать их по порядку, который они находятся в файле ресурсов. – TheLifeOfSteve

+0

@Steve для этого вы можете использовать массив или изменить метод сортировки, если у вас есть логика для сортировки в файле ресурсов –

ответ

1

Посмотрите на ответ на this question. Я не думаю, что методы ResourceSet гарантируют сортировку по умолчанию, но они должны быть стабильными (порядок должен быть одинаковым каждый раз, когда вы что-то делаете с ними), поэтому порядок, который они захватили foreach, может быть не таким, как вы интуитивно думаю, что это будет.

Вы должны уметь использовать метод в ответ на связанный вопрос, чтобы отсортировать его по своему усмотрению.

+0

Не совсем то, что я искал, но он поставил меня на правильный путь. благодаря – TheLifeOfSteve

1
result.Data = Questions.OrderBy(a => a); 

это будет заказать его в порядке возрастания

+0

, который сортирует их по алфавиту, не совсем то, что я ищу – TheLifeOfSteve

+0

вы можете использовать стек строки вместо Стек lst = новый Stack (); lst.Push ("значение"); –

+0

извините мое невежество, но как это поможет мне отобразить по тому же заказу в файле ресурсов? – TheLifeOfSteve

Смежные вопросы