What you are doing there is passing a lambda expression. These are essentially the same as delegates, function pointers in C or functions in Javascript. Youare basically telling Html DisplayFor "use this function to get the display item". Your example should actually probably be:
@Html.DisplayFor(modelItem => modelItem.LastName)
Otherwise, you are trying to close "item" from an outer scope. If this is what you are really trying to do, then modelItem is doing essentially nothing...
see http://msdn.microsoft.com/en-us/library/bb397687.aspx