J'ai la classe suivante dans mon C# .NET 3.5 formes victoire application:liste Filtrage des objets d'une autre liste
class Field {
string objectName;
string objectType;
string fieldName;
string fieldValue;
}
et une liste fieldList qui est une source de données pour un CheckedListBox. Cette liste affiche tous les objectNames distincts de ma collection fieldList.
Je souhaite créer une autre case à cocher checkedlist contenant fieldNames, mais affiche uniquement les noms de champs associés à un nom d'objet associé dans la première zone de liste.
Donc, ma question est de savoir comment puis-je interroger la source de données de la liste originale de objectNames pour retourner l'ensemble distinct de fieldNames qui sont associés à un objectName sélectionné?
Ce n'est pas très facile à lire, donc je vais donner un exemple:
Field1 {
objectName = 'objA'
FieldName = 'FieldA'
}
Field2 {
objectName = 'objA'
FieldName = 'FieldB'
}
Field3 {
objectName = 'objB'
FieldName = 'FieldA'
}
Field4 {
objectName = 'objC'
FieldName = 'FieldC'
}
Supposons dans ma case Alors je sélectionne objectnames objA et objB. Ensuite, mes champs retournés seraient «FieldA» et «FieldB». Comment puis-je y parvenir en utilisant LINQ ou en filtrant ma liste générique de champs? Puis-je utiliser les méthodes 'select' ou 'where' qui sont disponibles pour une liste?