C# data types

Quickly covers C#'s data types by giving a few examples. Good for transition between C or C++ to C#.

C# Data Types

The following example will show you the information you need about C#’s data types:

// DataTypes.cs
using System;
    class DataTypes
        static void Main()
            Console.WriteLine("The minimum and maximum sizes of C#'s datatypes:\n");
            Console.WriteLine("sbyte\nMin: {0}\nMax: {1}\n", sbyte.MinValue, sbyte.MaxValue);
            Console.WriteLine("byte\nMin: {0}\nMax: {1}\n", byte.MinValue, byte.MaxValue);
            Console.WriteLine("short\nMin: {0}\nMax: {1}\n", short.MinValue, short.MaxValue);
            Console.WriteLine("ushort\nMin: {0}\nMax: {1}\n", ushort.MinValue, ushort.MaxValue);
            Console.WriteLine("int\nMin: {0}\nMax: {1}\n", int.MinValue, int.MaxValue);
            Console.WriteLine("uint\nMin: {0}\nMax: {1}\n", uint.MinValue, uint.MaxValue);
            Console.WriteLine("long\nMin: {0}\nMax: {1}\n", long.MinValue, long.MaxValue);
            Console.WriteLine("ulong\nMin: {0}\nMax: {1}\n", ulong.MinValue, ulong.MaxValue);
            Console.WriteLine("float\nMin: {0}\nMax: {1}\n", float.MinValue, float.MaxValue);
            Console.WriteLine("double\nMin: {0}\nMax: {1}\n", double.MinValue, double.MaxValue);
            Console.WriteLine("decimal\nMin: {0}\nMax: {1}\n", decimal.MinValue, decimal.MaxValue);
            Console.ReadLine(); // Keep the console opened until you press Enter

The output of the program is:

The minimum and maximum sizes of C#'s datatypes:

Min: -128
Max: 127

Min: 0
Max: 255

Min: -32768
Max: 32767

Min: 0
Max: 65535

Min: -2147483648
Max: 2147483647

Min: 0
Max: 4294967295

Min: -9223372036854775808
Max: 9223372036854775807

Min: 0
Max: 18446744073709551615

Min: -3.402823E+38
Max: 3.402823E+38

Min: -1.79769313486232E+308
Max: 1.79769313486232E+308

Min: -79228162514264337593543950335
Max: 79228162514264337593543950335

sbyte is the signed version of byte (8 bits);
short is the signed version of ushort (16 bits);
int is the signed version of uint (32 bits);
long is the signed version of ulong (64 bits);

The ‘char’ type stores a single character;
The ‘string’ data type stores multiple characters;

Getting the length of a string

Suppose you have the ‘content’ variable that is a ‘string’ type of variable:

string content = "The actual string";

You can find the length of this string using:


For example:

using System;
    class StringLength
        static void Main()
            string Content = "The actual string";
            Console.WriteLine("{0}\n", Content);
            Console.WriteLine("The length of the above string is {0} characters", Content.Length);
            Console.ReadLine(); // Keep the console opened until you press Enter

The ‘float’ data type is 32 bits long. It has an 8 bits long exponent and 24 bits long mantissa;
The ‘double’ data type is 64 bits long. It has an 11 bits long exponent and 53 bits long mantissa;

C# arrays

You can initialize an array using:

int[] objects;

If you want to allocate a space in memory for the elements of the array use:

int[] objects = new int[5];

or separate:

int[] objects;
objects = new int[5];

This is a complete example of initializing an array and accessing it using a loop:

using System;

    class Arrays
        static void Main()
            char[] website = new char[9] {'G', 'e', 'e', 'k', 'p', 'e', 'd', 'i', 'a'};
            int i = 0;
            for (i = 0; i < website.Length; i++)
            Console.Write("{0}", website[i]);

(The above example could be simplified by using a ‘foreach’ loop like in VB but I wanted to stick to the topic).

Nathan Pakovskie is an esteemed senior developer and educator in the tech community, best known for his contributions to Geekpedia.com. With a passion for coding and a knack for simplifying complex tech concepts, Nathan has authored several popular tutorials on C# programming, ranging from basic operations to advanced coding techniques. His articles, often characterized by clarity and precision, serve as invaluable resources for both novice and experienced programmers. Beyond his technical expertise, Nathan is an advocate for continuous learning and enjoys exploring emerging technologies in AI and software development. When he’s not coding or writing, Nathan engages in mentoring upcoming developers, emphasizing the importance of both technical skills and creative problem-solving in the ever-evolving world of technology. Specialties: C# Programming, Technical Writing, Software Development, AI Technologies, Educational Outreach

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top