Consider the following code in C#:
String a = "hello world";
List<String> ListA = new List<String>();
List<String> ListB = new List<String>();
ListA.Add(a);
ListB.Add(a);
My question is: are the two strings in the two lists are actually pointing to the same location in memory? In other words, the additional memory in having multiple containers for the same string is only about references(pointers) not actual memory of the strings?
Thanks.