Microsoft tarafından geliştirilen ve sözdizimi bakımından C++ ya çok benzeyen bu dilin asıl tasarlanma nedeni, C ailesine ilk defa öğe(component)-yönelimli bir dil eklemekti. Bu özellik sayesinde C#’da yazılmış olan bir öğe, birçok farklı ortamda hiçbir modifikasyon gerektirmeden çalıştırılabilmektedir. C#’ı C++ dan ayıran en önemli özellikler C#’ın tamamen nesne yönelimli olması ve işaretcileri kullanmadan dinamik veri kullanımına izin vermesidir.