How can I get an extension method to change the original object?
You have to modify the contents of the List<string> passed to the extension method, not the variable that holds the reference to the list: public static void ForceSpaceGroupsToBeTabs(this List<string> lines) { string spaceGroup = new String(‘.’, 4); for (int i = 0; i < lines.Count; i++) { lines[i] = lines[i].Replace(spaceGroup, “T”); } }