Using .Contains() on a property in a list

I have a List of Activity. In the Activity class is an ID property (a Guid for arguments sake). I want to check if this list has an Activity in it with a Guid I have. Rather than this:

foreach(Activity activity in ActivityList)
{
    if(activity.Id == GuidToCompare)
        //Code here
}

Is there a more efficient way to achieve the same result as I could if I were to have just a list of Guids (instead of a list of Activity's) and to use .Contains()?

I've got a list of a struct called ActivityAndPO. In this struct is a Guid. I have a list of PO's. In the PO class is a Guid.

I want to loop through all of objects in the the ActivityAndPO list where the Guid's exist in the list of PO's.

Answers


Sure.

foreach(Activity activity in ActivityList.Where(a => a.Id == GuidToCompare) )
{        
    //Code here
}

But since Id implies there will be at most 1 activity:

//var act = ActivityList.Where(a => a.Id == GuidToCompare).SingleOrDefault(); // clearer
var act = ActivityList.SingleOrDefault(a => a.Id == GuidToCompare);          // shorter
if (act != null)
{
    //Code here
}

Need Your Help

Rebuild Realm Database

ios swift realm

I have a swift project with Realm installed via cocoapods. I accidentally deleted the realm database via rm path/to/realm/database in my terminal. Whenever I run the app I receive the error below:

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.