Difference between byte vs Byte data types in C# [duplicate]
I noticed that in C# there are both a byte and Byte data type. They both say they are of type struct System.Byte and represent an 8-digit unsigned integer.
So I am curious as to what the difference if any is between the two, and why you would use one over the other.
Thanks!
The byte
keyword is an alias for the System.Byte
data type.
They represent the same data type, so the resulting code is identical. There are only some differences in usage:
You can use
byte
even if theSystem
namespace is not included. To useByte
you have to have ausing System;
at the top of the page, or specify the full namespaceSystem.Byte
.There are a few situations where C# only allows you to use the keyword, not the framework type, for example:
.
enum Fruits : byte // this works
{
Apple, Orange
}
enum Fruits : Byte // this doesn't work
{
Apple, Orange
}
byte
and System.Byte
in C# are identical. byte
is simply syntactic sugar, and is recommended by StyleCop (for style guidelines).
No difference. byte
is alias to System.Byte, the same way int
is alias to System.Int32, long
to System.Int64, string
to System.String, ...