What is the difference between C# , .NET and CLI?
C# is one of the .NET languages - VB.NET, F# and many more exist.
.NET is a platform (libraries, compiler and runtime) on which code written by any of these languages runs.
CLI is the Common Language Infrastructure - it is a specification that describes the executable code and runtime that make the .NET platform. Apart from the Microsoft one, there are other implementations - mono and Portable.NET the most known.
If you want some more acronyms:
well, c# is programming language,CLR is the tool or framework so you write your code using c#, CLR convert that codes to Microprocessor's language and all order up to your c# code CLR coordinate memory,microprocessor and other sources, so if you work in that situation or you make a product with this, they say your done your job up to .NET