Q:

How can I break up a list based on one of its properties?

I have a list of x amount of objects, and each object has an associated guid corresponding to the group it belongs to (object.groupGUID). In this list there are lets say 3 distinct group guids. I want to break this list up by groupGUID into 3 separate lists. Any suggestions on how to go about this? Would I be able to use the find method with the a search criteria related to the GUID? 

A:

You can use Linq to create a Dictionary(Of Guid, List(Of YourClass)):
Dim dict As Dictionary(Of Guid, List(Of Foo)) =
        list.GroupBy(Function(obj) obj.groupGUID).
        ToDictionary(Function(grp) grp.Key, Function(grp) grp.ToList())

Now you're able to lookup a GUID:
Dim objectsForGivenGuid As List(Of Foo) = dict(yourGuid)

