// assign a item to SPListItem object.
SPListItem objLstitem = objLst.Items[0]; // objLst is the SPList object
// get the user by ID/Email
// objSpWeb is the SpWeb object
SPUser objUser = objSpWeb.SiteUsers.GetByEmail("user@mydomain.com");
// Break inheriting parent permissions for this List Item.
objLstitem.BreakRoleInheritance(false);
// assign Role to the defined User
SPRoleDefinitionCollection objWebRoleDefn = objSpWeb.RoleDefinitions;
SPRoleAssignment objRoleAssign = new SPRoleAssignment(objUser);
// specify the name of the role definition like [Full Control][Read][Contribute] etc.
objRoleAssign.RoleDefinitionBindings.
Add(objWebRoleDefn["Contribute"]);
objLstitem.RoleAssignments.Add(objRoleAssign);