Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace ConsoleLinq
- {
- using System.Collections.ObjectModel;
- using System.Linq;
- class Program
- {
- static void Main(string[] args)
- {
- Collection<ElementBase> ELementList = new Collection<ElementBase>();
- ElementBase elementObjekt = new ElementBase { Name = "Node1" };
- elementObjekt.DiagramListe.Add(new Diagram { Name = "Diagram1", LayerName = "Layer2" });
- elementObjekt.DiagramListe.Add(new Diagram { Name = "Diagram2", LayerName = "Layer1" });
- ELementList.Add(elementObjekt);
- elementObjekt = new ElementBase { Name = "Node2" };
- elementObjekt.DiagramListe.Add(new Diagram { Name = "Diagram1", LayerName = "Layer1" });
- ELementList.Add(elementObjekt);
- elementObjekt = new ElementBase { Name = "Node3" };
- elementObjekt.DiagramListe.Add(new Diagram { Name = "Diagram2", LayerName = "Layer1" });
- ELementList.Add(elementObjekt);
- // is there a way to select any item in ELementList wich are "Diagram1" and sort the items by LayerName?
- var searchList = (from item in ELementList
- where item.DiagramListe.GetDiagram("Diagram1") != null
- select item).ToList();
- // output should
- // searchList[0].Name = "Node2";
- // searchList[1].Name = "Node1";
- foreach (var item in searchList) item.DoSomething();
- }
- }
- public class ElementBase
- {
- public string Name { get; set; }
- public DiagramListe DiagramListe = new DiagramListe();
- public void DoSomething() { }
- }
- public class DiagramListe : Collection<Diagram>
- {
- public Diagram GetDiagram(string diagramName)
- => (from obj in this
- where obj.Name == diagramName
- select obj).FirstOrDefault();
- }
- public class Diagram
- {
- public string Name { get; set; }
- public string LayerName { get; set; }
- }
- }
Add Comment
Please, Sign In to add comment