Odpowiednik C # dla arytmetyki java obsługujący get, ustaw i usuń niektóre indeksy

Jestem programistą Java, użyłem JavaArrayList przed i teraz chcę mieć coś takiego w C #. Niektóre opcje są potrzebne w tym kodzie Java:

String[] strs = new String[]{"str1" , "str2" , "str3" , "str4"};
ArrayList arrayList = new ArrayList(35);
arrayList.add(strs[0]);
arrayList.add(strs[1]);
arrayList.remove(0);
arrayList.set(0, strs[2]);
String s = (String) arrayList.get(1);

Użyłem C #ArrayList iLinkedList, ale nie mają tych prostych opcji, których potrzebuję. Czy istnieje inna opcja w C # wspierająca dostęp do obiektów za pomocą indeksów, wstawianie i usuwanie z określonego indeksu?

questionAnswers(2)

yourAnswerToTheQuestion