Я исправил проблему, заключающуюся в том, что я не перечислял данные, которые были связаны с неправильным полем в словаре порождения, но все же я хотел бы спросить, подходит ли мой подход к нему?
У меня есть несколько флажков, которые, если задано значение true, должны проверять состояние элемента и включать его в список.
Поэтому, не зная, что делать, я пришел к следующему:
HashSet<int> status = new HashSet<int>();
if (OptionsForm.filterPlayer.Checked) status.Add(0);
if (OptionsForm.filterEnemy.Checked) status.Add(1);
if (OptionsForm.filterSummon.Checked) status.Add(2);
if (OptionsForm.filterNPC.Checked) status.Add(3);
if (OptionsForm.filterObject.Checked) status.Add(4);
if (OptionsForm.filterMonster.Checked) status.Add(5);
if (OptionsForm.filterGatherable.Checked) status.Add(6);
if (OptionsForm.filterUnk.Checked) status.Add(7);
var query = from SpawnList item in spawnEntities.Values
where status.Contains(item.Status)
orderby item.Name ascending
select item;
Но в настоящее время он не возвращает мне ошибок или элементов, которые должны были быть возвращены.
spawnEntities - это словарь с uint, SpawnList.
SpawnList - простой класс:
public class SpawnList
{
public string Name { get; set; }
public int Status { get; set; }
// some more data not needed for the question
}