The Where function has a delegate that’s passed two parameters. The first is the item (must match the datatype) in the collection, the second is the index of the item in the collection.
The Where function loops thru the collection passing the item and the index to the delegate. If the delegate returns true, current item added to a new collection that the Where function returns. note: the Where function is a static extension function, so its hidden argument is the collection.