Difference between byte vs Byte data types in C#

jaywon picture jaywon · Mar 10, 2010 · Viewed 32.4k times · Source

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!

Answer

Guffa picture Guffa · Mar 10, 2010

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 the System namespace is not included. To use Byte you have to have a using System; at the top of the page, or specify the full namespace System.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
}