What about:
var list = new List<string>() { "1", "2", "3" };
var joined = string.Join("#", list);
An element ArrayListis an “old” generation class that does not implement the IEnumerable<T>interface that is needed for string.Join, and also is not, string[]or an object[]array that can be used in a call string.Join.
List<string>, ToArray, , .