I have an IEnumerable of type String with Default values and a fix order.
I have a List of type Module with values in a random order.
I want to have ONE list of unique objects of type Module.
What I get with the below code is:
ONE list of unique objects of type String.
Someone knows a trick around this?
static void Main(string[] args) {
List<Module> moduleList = new List<Module>() {
new Module{ ModuleId = 1, ModuleType = "world"},
new Module{ ModuleId = 2, ModuleType = "wayne"},
new Module{ ModuleId = 3, ModuleType = "hallo"},
new Module{ ModuleId = 4, ModuleType = "tes"},
new Module{ ModuleId = 5, ModuleType = "mi"},
new Module{ ModuleId = 6, ModuleType = "haha"},
new Module{ ModuleId = 7, ModuleType = "pipi"},
new Module{ ModuleId = 8, ModuleType = "bla"},
};
// This result is fine that the list is unified and the predefined
// values order is not changed: bla, tes, mi
// BUT I need to return a query with Module objects
var query = GetDefaultValues().Union(moduleList.Select(t => t.ModuleType));
}
private static IEnumerable<string> GetDefaultValues() {
yield return "bla";
yield return "tes";
yield return "mi";
}
Do a new Module() in every lambda and copy the values is NO option for me.
UPDATE:
Desired output:
a list of Modules:
new Module{ ModuleId = 8, ModuleType = "bla"},
new Module{ ModuleId = 4, ModuleType = "tes"},
new Module{ ModuleId = 5, ModuleType = "mi"},
new Module{ ModuleId = 1, ModuleType = "world"},
new Module{ ModuleId = 2, ModuleType = "wayne"},
new Module{ ModuleId = 3, ModuleType = "hallo"},
new Module{ ModuleId = 6, ModuleType = "haha"},
new Module{ ModuleId = 7, ModuleType = "pipi"},
1 Answer