C# fundamentals are the mechanics that keep showing up after the syntax has become familiar. Types determine what is copied or shared. Method signatures control how data crosses an API boundary. Generics move assumptions into compile-time constraints, while exceptions define how failures travel through a call stack.

A foreach loop still acquires and disposes an enumerator. A reference-type argument still passes the reference value by value unless ref is present. Reflection can inspect code that the compiler cannot see, which also means the compiler cannot protect that access. These runtime mechanics decide whether familiar syntax stays predictable at the edges.

References

7 items under this folder.