Or if you prefer the extension method syntax:
var matching = list1.Where(o => o.code == "1001");
If you know there's at most one and you want to get it then:
MyObjectType matching = list1.Where(o => o.code == "1001").FirstOrDefault();
FirstOrDefault returns null if there are no matches, if you require there to be a match then use First() which throws an exception if there are no matches.
All these extension methods are on IEnumerable<T>, so a List<MyObjectType> will be fine. They're in System.Linq.