En gång i tiden gjorde jag så här i C Ingen som har några bra idéer på hur man deklarerar en array som är en konstant, dvs du kan varken påverka antalet element eller göra ändringar i den? Se hans tillägg i första inlägget : Jag har för mig att det inte fungerar i C#. Anders. Av ren nyfikenhet; varför finns det _både_ const och readonly? Skillnaden är att ett const fält can bara initsieras vid deklaration av ett fält, medans Utmaning
<code>
const char variabel[3] = {'1', '2', '3'};
</code>
Jag har inte lyckats göra något motsvarande i C#, någon som kan?
Tillägg:
Observera "const" i början, jag vill alltså att den ska vara av typen const. De förslag jag fått hittills är korrekta men inte riktigt svar på frågan, jag vill gärna att det ska vara av typen const.
AndersSv: Utmaning
char[] variabel = new char[] {'1','2','3'}; //<-- så slipper man räkna hur många element man har ;)
//Roger
Sv: Utmaning
AndersSv: Utmaning
> <b>Observera "const" i början, jag vill alltså att den ska vara av typen const. De förslag jag fått hittills är korrekta men inte riktigt svar på frågan, jag vill gärna att det ska vara av typen const. </b>Sv: Utmaning
Det finns en MSDN-Tv http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040624csharpah/manifest.xml som visar en frågestund med Anders Hejlsberg där bland annat const tas upp. Jag lyssande inte så noga, men jag har för mig att han sa att de inte har implementerat const fullt ut.
Markus, snart bonusmedlem igen.Sv: Utmaning
constant fungerar bara på vanliga fält. Du kan dock använda readonly för att sätta din char till läsbar men inte ändringsbar.
<code>
public readonly char[] variabel = new char[] {'1','2','3'};
</code>
Const är endast för en och har inte stöd för dynamik. En char är en const och det går då bra men char[] är nått helt annat.
Du kan för varje char göra dem const och lägga dem i en char[]
<code>
const char a = 'a';
const char b = 'b';
char[] v = {a,b};
</code>
Mvh JohanSv: Utmaning
I C++ var readonly ett begrepp som fanns innan man konstaterade att const passade bättre, då writeonly inte hade något syfte för enkla variabler, och gick att lösa mycket snyggare för klasser.Sv: Utmaning
Readonly fält kan initsieras vid deklration eller i en konstruktor.
Readonly fält kan ha olika värden som kan sättas i din konstruktor, den är mer dynamisk och kräver inte ett värde vid deklarering så som ett const fält måste.
mvh Johan