using System.Collections.Generic;
Dictionary<ushort, List<uint>> scenarioModulesDictionary = new Dictionary<ushort, List<uint>>();
scenarioModulesDictionary.Add(10, new List<uint> {1, 2, 3});
scenarioModulesDictionary.Add(100, new List<uint> {7, 8, 9});
var current = new WhModule(50, new List<uint> {4, 5, 6});
foreach (var entry in scenarioModulesDictionary)
if (entry.Key == current.scenarioKey)
Console.WriteLine("has same modules: " + current.HasSameModules(entry.Value));
Console.WriteLine("has same modules: " + current.HasSimilarModules(entry.Value));
Console.WriteLine("has same modules: " + current.HasDifferentModels(entry.Value));
public ushort scenarioKey;
public List<uint> modules = new List<uint>();
public WhModule(ushort scenarioKey, List<uint> modules)
this.scenarioKey = scenarioKey;
public bool HasSameModules(List<uint> otherModules)
return modules.All(t => otherModules.Contains(t)) && modules.Count == otherModules.Count;
public bool HasSimilarModules(List<uint> otherModules)
return modules.Any(t => otherModules.Contains(t));
public bool HasDifferentModels(List<uint> otherModules)
return modules.All(t => !otherModules.Contains(t));