Csharp/Variabeldeklarasjon
Variabeldeklarasjon
redigerEn variabel er et mellomlager for funksjonen eller objektet vårt, og deklareres forholdsvis likt over alt.
[datatype] [navn];
eksempel:
int myint;
en variabel som er deklarert inne i en klasse kan også ha en rekke nøkkel ord, som access modifiers, men også mange andre
- const
- variabelen er ment å kun leses fra
- volatile
- variabelen skal kunne leses og skrives til fra andre deler av systemet, som andre threads, programmer, eller operativsystem
- readonly
- variabelen kan kun leses fra, bortsett fra i constructorer eller lignende.
Scope
redigerI alle strukturerte programmeringsspråk, har man noe som heter scope. Scope er at alt innenfor "scope" er tilgjengelig, det vil si variabler og funksjoner som ligger i samme nivå, eller lavere. variabler som faller utenfor scope, vil bli slettet av garbage collectoren, hvis de ikke lenger blir referert til.
public class Step1
{
string my_var_name;
public void some_function()
{
int my_var;
some_var = 100; // Feil, some_var er ikke definert enda
int my_var = 100; // Riktig, my_var er definert.
int some_var;
// Vi flytter ett nivå opp
while(true)
{
int second_var;
second_var = 100; // Riktig! second_var er foreløpig innenfor scope;
break;
// En kan skrive slike som dette, uten at det er koplet til noen funksjon.
{
int another_var = 100; // Feil! code unreachable, altså koden er ikke tilgjengelig, siden loopen alltid bare vil kjøre koden en gang
}
}
second_var = 50; // Feil! second_var er ute av scope, og derfor ikke lenger tilgjengelig
my_var_name = "hei på deg!" // Riktig! my_var_name (som er deklarert i klassen) er innenfor scope.
}
}
Array
redigerArray skrives med tegnene [] etter datatypen
flerdimensjonale arrays, skrives enten med et komma imellom hver dimensjon, eller med flere []
int[] myint; // Endimensjonal array
int[,] my_two_dimensional_int; // Todimensjonal array
int[][] my_array_of_arrays_of_int; // En array av arrayer
Initialisering
redigerAlle variabler må initialiseres før de brukes. Grunnen til dette, er at alle variabler vil automatisk få en utilregnelig verdi når de deklareres,
nettopp for å sikre at programmereren passer på å bruke alle variabler riktig.
For å initialisere, legger vi til et er lik-tegn (=) og verdien etterpå.
Verdien kan være en konstant, eller en variabel.
int myint = 0;
int oneint = myint;
For å initialisere en klasse, må vi bruke operator new. Dette gjør at man kaller en funksjon i klassen som kalles en constructor, og har samme navn som klassen.
string mystring = new string('0', 100);
Dette vil lage en tekststreng som inneholder 100 null-tegn.
For å initialisere arrays, kan vi enten tilegne den en variabel, eller bruke krøllparantes:
int[] myint = new int[] {32, 55, 21, 2, 0};
int[] myarr = myint;
Grunnen til at vi bruker new, er at Array er en klasse, og må derfor initialiseres som en.