sharepoint c# csom get list item attachment
using Microsoft.SharePoint.Client;
using System.Linq;
using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
{
// clientcontext.Web.Lists.GetById - This option also can be used to get the list using List GUID
// This value is NOT List internal name
List targetList = clientContext.Web.Lists.GetByTitle("List Name");
// Option 1: Get Item by ID
ListItem oItem = targetList.GetItemById(11);
// Option 2: Get Item using CAML Query
CamlQuery oQuery = new CamlQuery();
oQuery.ViewXml = @"<View><Query><Where>
<Eq>
<FieldRef Name='Title' />
<Value Type='Text'>New List Item</Value>
</Eq>
</Where></Query></View>";
ListItemCollection oItems = targetList.GetItems(oQuery);
clientContext.Load(oItems);
clientContext.ExecuteQuery();
oItem = oItems.FirstOrDefault();
// Option 2: Ends Here(Above line)
AttachmentCollection oAttachments = oItem.AttachmentFiles;
clientContext.Load(oAttachments);
clientContext.ExecuteQuery();
foreach (Attachment oAttachment in oAttachments)
{
Console.WriteLine("File Name - " + oAttachment.FileName);
}
}