Utmaning
En gång i tiden gjorde jag så här i C
<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.
Anders
Svara
Sv: Utmaning
1 | char [] variabel = new char [] { '1' , '2' , '3' }; //<-- så slipper man räkna hur många element man har ;) |
//Roger
Svara
Sv: Utmaning
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?
Anders
Svara
Sv: Utmaning
Se hans tillägg i första inlägget :
> <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>
Svara
Sv: Utmaning
Jag har för mig att det inte fungerar i C#.
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.
Svara
Sv: Utmaning
Anders.
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 Johan
Svara
Sv: Utmaning
Av ren nyfikenhet; varför finns det _både_ const och readonly?
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.
Svara
Sv: Utmaning
Skillnaden är att ett const fält can bara initsieras vid deklaration av ett fält, medans
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
Svara