CSOM – Get lists via Managed Code

I have been working on CSOM recently and I wanted to share this snipplet of code that I used to get the Web object, List Collection, and create a new list via the client object model through managed C# code.

// Create the client context by passing in the web url I want to use

ClientContext cctx = new ClientContext(“http://phillau.com”);

cctx.Credentials = CredentialCache.DefaultCredentials;

Web ctxWeb = cctx.Web;

ListCollection lists = ctxWeb.Lists;

// Load the context object with instructions to only populate the title field in the site object

cctx.Load(site s => s.Title);

// Request gets send to retrieve the site title

cctx.ExecuteQuery();

Console.WriteLine(“Site Title:” + ctxWeb.Title);

//Create a new list. Specify what you want it to be!

ListCreationInformation list = new ListCreationInformation();

list.Title = “Ships”;

list.Url = “List/Ships”;

list.TemplateType = (int)ListTemplateType.GenericList;

// Add to list collection

web.Lists.Add(list);

// Load into context object to be launched!

cctx.Load(lists)

// Submit list blueprint!

cctx.ExecuteQuery();

foreach(List list in lists)

{

          Console.WriteLine(list.Title);

}

Done!