using System.Collections.Generic;
public static void Main()
var json = "[ { \"Sequencia!\": 1, \"Tipo\": \"Comercial\", \"Numero\": \"(11) 97711-5225\" }, { \"Sequencia\": 2, \"Tipo\": \"Celular\", \"Numero\": \"89448456456456\" }]";
var listaAlvo = JsonConvert.DeserializeObject<List<ExpandoObject>>(json);
var cellphone = "(11) 99999-9999";
var phone = "(11) 11111-9999";
if (string.IsNullOrEmpty(phone))
var first = listaAlvo.Cast<dynamic>().FirstOrDefault(x => x.Tipo == "Comercial");
listaAlvo = listaAlvo.Where(x => x != first).ToList();
else if (!listaAlvo.Cast<dynamic>().Any(x => x.Tipo == "Comercial"))
dynamic newItem = new ExpandoObject();
newItem.Tipo = "Comercial";
else if (!listaAlvo.Cast<dynamic>().Any(x => x.Tipo == "Comercial" && x.Numero == phone))
var first = listaAlvo.Cast<dynamic>().FirstOrDefault(x => x.Tipo == "Comercial");
string jsonAlvo = JsonConvert.SerializeObject(listaAlvo, Newtonsoft.Json.Formatting.Indented);
Console.WriteLine(jsonAlvo);