Introduktion till programmering med C# : Arrays
Innehållsförteckning
Del 7.
Arrays
I C# kan vi skapa linjära lagringar av element av vilken datatyp vi vill. Vi kommer åt individuella element via dess index.
Arrays i C# allokeras dynamiskt på heap genom utnyttjandet av nyckelorder new
int[] numberList = new int[100] // Deklarerar en array med plats för 100 heltal.
Det är också möjligt att skapa en array med ett initieringsblock.
int[] primes = {2,3,5,7,11} // Deklarerar en array med de 5 först primtalen.
Vi kan även väldigt enkelt ta reda på antalet element i en array
int numbers = primes.Length
När vi har deklarerat och allokerat en array så kan vi lägga till data genom att använda index
numberList[1] = 45 // Placera värdet 45 i det andra elementet.
Tänk på att index startar på 0 inte 1!
!OBSERVERA! En array när den väl är skapad är låst till antalet element som vi definierat. Om vi skulle försöka med följande:
numberList[100] = 78 // Så skulle vi få ett outofbounds fel
Vilket egentligen bara innebär att vi försöker lägga till ett nytt element på en position som inte existerar i vår array och det är inte tillåtet.
Strängar som Arrays
Strängar är inte av typen array, men vi kan manipulera en sträng som om den vore en array. Vi kan använda index för att hämta ut en bokstav ur en sträng, men vi kan inte byta ut en bokstav!
string name = "Michael";
char x = name[2] // hämta 3:e bokstaven(c) ur strängen
Vi kan också ta reda på antalet bokstäver i en sträng.
int characterCount = name.Length;
De flesta datatyper som vi har gått igenom har det som kallas för namngivna operationer, vilket egentligen bara betyder att det finns metoder på datatyperna som vi kan använda. Vi använder punkt notation "." för att få tillgång till dessa metoder.
Framförallt datatypen string har ett stort antal metoder som vi kan använda för att manipulera strängar.
Exempel:
Om jag till exempel vill plocka ut den 5:e bokstaven ur följande sträng.
string name = "Michael";
string character = name.Substring(5,1);
Strängar har även metoder för att formatera dem.
Exempel:
double x = 7721.532;
string formatedValue = string.Format("Värdet är: ${0:N2}", x);
Detta vill resultera i 7721.53
Följande format finns att tillgå
- C = valuta
- D = decimal
- E = exponent
- F = fixed decimal
- G = generellt formatterat
- N = samma som F men med en tusen separator