Question: can anybody tell me that in c# why does char takes two bytes although it can be stored in one byte. Don't you think it is wastage of a memory. if not , then how is extra 1-byte used?
in simple words ..please make me clear what is the use of extra 8-bits.!!

Answer: 
In C#, char's are 16-bit Unicode characters by default. Unicode supports a much larger character set than can be supported by ASCII.

If memory really is a concern, here is a good discussion on SO regarding how you might work with 8-bit chars: [Is there a string type with 8 BIT chars?](https://stackoverflow.com/questions/4916838/is-there-a-string-type-with-8-bit-chars)

References: 

On C#'s char datatype: <http://msdn.microsoft.com/en-us/library/x9h8tsay(v=vs.80).aspx>

On Unicode: <http://en.wikipedia.org/wiki/Unicode>
because utf-8 was probably still too young for microsoft to consider using it