2 Tak, wszystko ma kompatybilność wsteczną, ewentualnie miejsce w menu się zmieniło, ale wszystko powinno dać się zrobić... no, dla bezpieczeństwa powiem że 99%
1 Z tego co widze to tematy są uniwersalne więc powinno być ok
Niektóre rzeczy w nowszych wersjach robi sie inaczej niż robiło się za dawnych czasów, przykładowo {get; set;}
Ale myśle że tutaj wystarczy przejrzenie historii c# co było kiedy dodawane
https://docs.microsoft.com/pl-pl/dotnet/csharp/whats-new/csharp-version-history
Od siebie moge powiedzieć że c# do wersji 6 ma prawie wszystko zrobione dobrze i się z tego korzysta
W wersji 7 nie wiedzieli za bardzo co dodać a chcieli iść konwencją "pchamy w strone funkcyjną"
(C# 1 był praktycznie jedynie obiektowy, każda kolejna wersja to dokładanie elementów głównie funkcyjnych, stąd tyle elementów funkcyjnych w tym języku)
+żeby nie było
Nie mówie że cały C# 7 jest słaby, po prostu w poprzednich wersjach te nowości były bardziej użyteczne w projektach komercyjnych
W wersji 7 tych elementów użytecznych jest dość mało / mniejszość
Ze względu na to jakie projekty zazwyczaj się pisze w c#