C# arrays are zero indexed and work similarly to other languages. There are some differences in syntax - the brackets must come after the type instead of the identifier. Arrays can be single dimensional, multidimensional, or jagged. Arrays are objects that must be instantiated, for example by specifying the size. Arrays can be initialized using curly braces. Elements are accessed using indexes, and the Length property provides the size. A foreach loop can iterate through the elements.