The first major requirement is that you should require a system running either Windows 2000 Professional or Windows XP Professional or Windows 2003/2008 Server. Windows XP Home Edition doesn’t provide support for .NET. It is not recommended to work with C# on Windows 98 systems as it is not compatible for developing server side applications or ASP.NET. Microsoft Vista Ultimate completely supports .NET Framework. The recently released release candidate of Windows 7 also provide support for .NET Framework. Linux also supports C# with the help of Mono C# compiler Kit.
Secondly, you should install .NET Framework Software Development Kit (SDK) which can be downloaded from the website of Microsoft located at http://msdn.microsoft.com/downloads. Windows 2003/2008 Server ships with .NET Framework and hence there is no need to install the SDK separately. However, it doesn’t comes with Visual Studio.
Finally, you require an editor to enter codes. In programming parlance, codes are called as source codes. They are nothing but syntaxes which adheres to the C# language conventions. Notepad is one of the most popular editors among many programmers. Even though Notepad is sufficient to learn C#, it would be better if you have installed Visual Studio. It ships with Visual C#, which offers many advanced functionalities than a traditional editor like Notepad.
Many third party vendors have released editors for programming with C# and other .NET languages. Notable among them are SharpDevelop and Antechinus C# Editor using which you can not only create HTML, XML, XSL and ASCX files but also the files oriented for ASP.NET development.