You should create RoleDefinitionBinding object set the type of permissions to it and add it as parameter to RoleAssignments of list item. There is example of how to add group with read permissions to list item:
using System;
using Microsoft.SharePoint.Client;
using SP = Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointServices.Samples
{
class BreakSecurityInheritanceAddUser
{
static void Main()
{
string siteUrl = "Your site url";
ClientContext clientContext = new ClientContext(siteUrl);
SP.List oList = clientContext.Web.Lists.GetByTitle("Your List Name");
int itemId = 3;
ListItem oListItem = oList.Items.GetById(itemId); //Get List Item by id
oListItem.BreakRoleInheritance(false);
RoleDefinitionBindingCollection collRoleDefinitionBinding = new RoleDefinitionBindingCollection(clientContext);
collRoleDefinitionBinding.Add(clientContext.Web.RoleDefinitions.GetByType(RoleType.Reader)); //Set permission type
oListItem.RoleAssignments.Add(oGroup, collRoleDefinitionBinding); //oGroup - your SPGroup
clientContext.ExecuteQuery();
}
}
}