public void list_batch_unsubscribe()
    {
        //  MCBatchUnsubResult listBatchUnsubscribe(string id, MCMemberInfo[] batch, bool delete_member, bool send_goodbye, bool send_notify){
        string list_id = "YOUR_LIST_ID";

        MCMemberInfo[] batch = new MCMemberInfo[2];
        batch[0].email = "*****@*****.**";

        batch[1].email = "*****@*****.**";

        MCBatchResult result = this.api.listBatchUnsubscribe(list_id, batch, false, false, false);

        Console.WriteLine("Success:" + result.success_count);
        Console.WriteLine("Errors:" + result.error_count);
        foreach (MCEmailResult item in result.errors)
        {
            Console.WriteLine("\t [" + item.code + "] " + item.message);
            Console.WriteLine("\t\t email: " + item.row.email);
        }
    }
    public void list_batch_subscribe()
    {
        //listBatchSubscribe(string id, MCMemberInfo[] batch, bool double_optin, bool update_existing, bool replace_interests);
        string list_id = "YOUR_LIST_ID";

        MCMemberInfo[] batch = new MCMemberInfo[2];
        batch[0].email         = "*****@*****.**";
        batch[0].email_type    = "html";
        batch[0].merges        = new MCMergeVar[3];
        batch[0].merges[0].tag = "FNAME";
        batch[0].merges[0].val = "David";
        batch[0].merges[1].tag = "LNAME";
        batch[0].merges[1].val = "Gilmour";
        batch[0].merges[2].tag = "INTERESTS";
        batch[0].merges[2].val = "Sand";

        batch[1].email         = "*****@*****.**";
        batch[1].email_type    = "html";
        batch[1].merges        = new MCMergeVar[3];
        batch[1].merges[0].tag = "FNAME";
        batch[1].merges[0].val = "Roger";
        batch[1].merges[1].tag = "LNAME";
        batch[1].merges[1].val = "Waters";
        batch[1].merges[2].tag = "INTERESTS";
        batch[1].merges[2].val = "Water";


        MCBatchResult result = this.api.listBatchSubscribe(list_id, batch, false);

        Console.WriteLine("Success:" + result.success_count);
        Console.WriteLine("Errors:" + result.error_count);
        foreach (MCEmailResult item in result.errors)
        {
            Console.WriteLine("\t [" + item.code + "] " + item.message);
            Console.WriteLine("\t\t email: " + item.row.email + " | " + item.row.merges[0].tag + " = " + item.row.merges[0].val);
        }
    }