Here is the base class with TheProperty in question:
class BasicClass { public BasicClass() { TheProperty = new Object(); Stamped = DateTime.Now; } public object TheProperty { get; set; } public DateTime Stamped { get; private set; } }
Here is the main list:
class BasicList { private List<BasicClass> list; public BasicList() { list = new List<BasicClass>(); } public BasicClass this[object obj] { get { return list.SingleOrDefault(o => o.TheProperty == obj); } } public void Add(BasicClass item) { if (!Contains(item.TheProperty)) { list.Add(item); } } public bool Contains(object obj) { return list.Any(o => o.TheProperty == obj);
I would like to add a class to BasicList that will return an array of elements.
I could write it like this using traditional C #:
public object[] Properties() { var props = new List<Object>(list.Count); foreach (var item in list) { props.Add(item.TheProperty); } return props.ToArray(); }
... but how can I write this with a LINQ or Lambda query?
c # lambda linq
jp2code Aug 08 '13 at 19:40 2013-08-08 19:40
source share