C#:
- source code compiled to intermediate code (EXE or DLL are containers for byte-code),
- fully object-oriented - all code must be in classes (like in Java),
- poor support in systems other than Windows (but there is),
- language and tools entirely dependent on the "whim" of the corporate management (Microsoft), which in the absence of competition can be risks for /developers (for now there are Java and C ++)
Thats a bit outdated, First .net core, the cross platform alternative is widely used and supported, so while it provides a different set of base functionality compared to .net framework, it is quite stable and we'll established and allows for easy cross platform development
Secondly the language was made open source (the specification and also the tooling for .net core) and new features and developments are decided in direct cooperation with the community (any feature request that has a certain number of upvotes will be considered and at least be answered).
So it's not up to the whim of Microsoft, but actually pretty democratic.
That said if you need .Net for windows, this is still completely under Microsoft's control, and .net core and .net framework are quite different, so you need to decide early on what you want or need for a certain project
Aside from that, on a language level, the two languages are very different, so different that it does not make sense to list all the differences here.
The most important one is probably that C# is managed while pascal requires manual memory management