You need to break the permission inheritance on said list.
Assuming you already have the list instance referenced in a "targetList" variable, this code will check if the list uses custom permissions and then break the inheritance if required.
after that, you simply need to build the specific Role Assignment item that describes the assignment you want to define and add it to the list permission.
SPRoleAssignment roleAssignment = new SPRoleAssignment(......);
SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(....);
(notice: you can also do the same via the SharePoint UI. Just look for "List Permission" while browsing the list settings. This page provides a step by step visual guide)