C# Static Array

Use static array fields to store data in one place, avoiding duplication in memory.

dot net perls

Static array. An array can be static—this means it is shared among all instances of classes in a program. Each class reuses the same array.ArrayStatic

Notes, static arrays. This pattern is commonly used in C# programs and often useful. Static arrays can reduce allocations, which can improve performance.

First example. To start, we use a static integer array. The data shown is separate from the state of the object. The list of prime numbers is not affected by state.Int Array
Tip: Your program can store static or constant data like these prime numbers for efficient access and use.
NumberTest: This class contains a static int array that remains present throughout the lifetime of the program.
Underscore: The _primes array has an underscore at its start. This is a common pattern and helps show it is a field.
Note: This array is initialized to 5 integers, and can be used without worrying about a class instance.
C# program that uses static int array using System; using System.Linq; class Program { static void Main() { // Use the public method to test static array. bool isWagstaff = NumberTest.IsWagstaffPrime(43); Console.WriteLine(isWagstaff); // Test static array again. isWagstaff = NumberTest.IsWagstaffPrime(606); Console.WriteLine(isWagstaff); } } /// <summary> /// Contains static int array example. /// </summary> public static class NumberTest { /// <summary> /// This static array contains several Wagstaff primes. /// </summary> static int[] _primes = { 3, 11, 43, 683, 2731 }; /// <summary> /// Public method to test private static array. /// </summary> public static bool IsWagstaffPrime(int i) { return _primes.Contains(i); } } Output True False

Example 2. Here we use a static string array to store type-specific information such as an array of dog breeds. This data is constant. It does not need to be frequently changed.
Property: We use the StringTest.Dogs property. The StringTest class contains an array of dog breed strings.
PropertyString Property
C# program that uses static array property using System; class Program { static void Main() { foreach (string dog in StringTest.Dogs) { Console.WriteLine(dog); } } } /// <summary> /// Contains static string array. /// </summary> public static class StringTest { /// <summary> /// Array of dog breeds. /// </summary> static string[] _dogs = new string[] { "schnauzer", "shih tzu", "shar pei", "russian spaniel" }; /// <summary> /// Get array of dog breeds publicly. /// </summary> public static string[] Dogs { get { return _dogs; } } } Output schnauzer shih tzu shar pei russian spaniel

List. A static List can store a variable number of elements in one location. The code can be used for much larger collections, and collections of varying sizes.Static ListList

ArrayPool. An ArrayPool can make the reuse of arrays more powerful—we can specify minimum lengths required. And we can "rent" arrays to reduce conflicts.ArrayPool

A summary. We used static data structures such as int arrays and string arrays. These static collections are useful to access data that doesn't depend on an instance.


© 2007-2020 sam allen. send bug reports to info@dotnetperls.com.