Possible Duplicate:
What is the difference between String and string
When I run:
char c1 = 'a';
Console.WriteLine(c1);
and when I run:
Char c2 = 'a';
Console.WriteLine(c2);
I get exactly the same result, a
.
I wanted to know what is the difference between the two forms, and why are there two forms?
Both represent the same type, so the resulting executables are completely identical. The char keyword is an alias in the C# language for the type System. Char in the framework. You can always use the char keyword.
The fundamental difference is that in one char* you are assigning it to a pointer, which is a variable. In char[] you are assigning it to an array which is not a variable.
What is the difference between char and char*? char[] is a character array whereas char* is a pointer reference. char[] is a specific section of memory in which we can do things like indexing, whereas char* is the pointer that points to the memory location.
The result is exactly the same. Both represent the same type, so the resulting executables are completely identical.
The char
keyword is an alias in the C# language for the type System.Char
in the framework.
You can always use the char
keyword. To use Char
you need a using System;
at the top of the file to include the System
namespace (or use System.Char
to specify the namespace).
In most situations you can use either a keyword or the framework type, but not everywhere. For example as backing type in an enum, you can only use the keyword:
enum Test : int { } // works
enum Test : Int32 {} // doesn't work
(I use int
in the example, as You can't use a char
as backing type for an enum.)
Related: Difference between byte vs Byte data types in C#
As far as I know, C# char
type keyword is simply an alias for System.Char
, so they refer to the same type.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With