A List<int>will have int[]internally. Usually no boxing is required - the values are stored directly in the array. Of course, if you decide to use it List<T>as non-generic IList, where the API is defined in terms object, this will be a field:
List<int> list1 = new List<int>();
list1.Add(5);
int x = list1[0];
IList list2 = new List<int>();
list2.Add(5);
int y = (int) list2[0];
, " " : " " , .
, a List<string> () , , List<int> - int. List<int> . ( , .)