I'm trying to print the content of the ArrayList of the various foreach loops but the only thing i get is the String + System.Collections.ArrayList.
For example the following code:
ArrayList nodeList = new ArrayList();
foreach (EA.Element element in elementsCol)
{
if ((element.Type == "Class") || (element.Type == "Component") || (element.Type == "Package"))
{
nodeList.Add(element);
}
Console.WriteLine("The nodes of MDG are:" + nodeList); //stampato a schermo la lista dei nodi nel MDG finale
And the output that i get is:
The nodes of MDG are:System.Collections.ArrayList
Can please someone tell me why?
The conversion to string for nodeList
will just call nodeList.ToString()
which produces the output you see. Instead you have to iterate over the array and print each individual item.
Alternatively you can use string.Join
:
Console.WriteLine("The nodes of MDG are:" + string.Join(",", nodeList));
By the way there is no reason (or excuse) to still use ArrayList
in C# 2 and above - if you are not maintaining legacy code switch to List<T>