W C# typ string zapisuje się małą literą, a tu jest wielka(ok to może tylko literówka).
Niekoniecznie. Możesz zapisać go także z wielkiej litery (wtedy musisz zawrzeć przestrzeń nazw System).
string jest jedynie aliasem dla klasy String (mimo wszystko, Visual Studio domyślnie proponuje, żeby klasę zamienić na słowo kluczowe – alias). Ta przecież ma swoje pola (sławne Empty dla pustych ciągów), właściwości (jeszcze popularniejsze Length), czy pomocne metody (jak IsNullOrWhiteSpace).
Zatem String jest niezłym kandydatem na klasę, przy czym:
Kod: String CarName; powoduje utworzenie...
...żadnego z powyższych. Jest tu wyłącznie deklaracja bez definicji – nie ma tu niczego.
Zresztą, można się spróbować:
String someStr;
someStr.GetType().Dump();
Oraz prosto z debuggera aplikacji konsolowej, co domyślnie jest przypisywane: