Try:
person p = lstPerson.Where(p => p.name == "John3").FirstOrDefault();
if (p != null)
{
...
}
[edit]
That works for classes, not structs - sorry, I didn't notice.
List<person> matches = lstPerson.Where(p => p.name == "John3").ToList();
if (matches.Count >= 1)
{
person p = matches[0];
...
}
[.edit]