public static string AdjacencyID(this List <IElement1D> edges, List <IElement2D> elems) { string separator = "_"; List <string> adjIDs = new List <string>(); if (edges.Count != elems.Count) { Reflection.Compute.RecordWarning("Edge and element list lengths do not match. Each edge should have a corresponding element, please check your inputs."); return(null); } else { for (int i = 0; i < edges.Count; i++) { IElement1D edge = edges[i]; IElement2D elem = elems[i]; string adjID = "Elem:" + elem.IPrimaryPropertyName() + " " + "Edge:" + edge.IPrimaryPropertyName(); adjIDs.Add(adjID); } } adjIDs.Sort(); return(string.Join(separator, adjIDs)); }