je continue ma d=E9couverte de c#. Me voila devant un=20
probl=E8me que mes recherches ne m'ont pas permis de=20
r=E9gler...
Probl=E8me idiot :
comment d=E9finir un tableau constant que j'initialise au=20
moment de la d=E9claration :
class toto {
const long[] test =3D { 123456676778888L, 182989389893L ...}
//....
}
le compilateur me renvoie l'erreur :
<error>Array initializers can only be used in a variable=20
or field initializer. Try using a new expression=20
instead.</error>
Mais si j'utilise un new, ce n'est plus vraiment un const,=20
correct ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Mittelette[MS\)
Bonjour, Pour créer un tableau constant tu peut utiliser la syntaxe suivante : private static readonly long[] test = { 123456676778888L, 182989389893L};
HTH
Eric
"patrice" a écrit dans le message de news: 105301c4b58c$d8cdc770$ Bonjour à tous,
je continue ma découverte de c#. Me voila devant un problème que mes recherches ne m'ont pas permis de régler... Problème idiot :
comment définir un tableau constant que j'initialise au moment de la déclaration :
class toto {
const long[] test = { 123456676778888L, 182989389893L ...} //....
} le compilateur me renvoie l'erreur : <error>Array initializers can only be used in a variable or field initializer. Try using a new expression instead.</error>
Mais si j'utilise un new, ce n'est plus vraiment un const, correct ?
Merci d'avance !
patrice
Bonjour,
Pour créer un tableau constant tu peut utiliser la syntaxe suivante :
private static readonly long[] test = { 123456676778888L, 182989389893L};
HTH
Eric
"patrice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 105301c4b58c$d8cdc770$a501280a@phx.gbl...
Bonjour à tous,
je continue ma découverte de c#. Me voila devant un
problème que mes recherches ne m'ont pas permis de
régler...
Problème idiot :
comment définir un tableau constant que j'initialise au
moment de la déclaration :
class toto {
const long[] test = { 123456676778888L, 182989389893L ...}
//....
}
le compilateur me renvoie l'erreur :
<error>Array initializers can only be used in a variable
or field initializer. Try using a new expression
instead.</error>
Mais si j'utilise un new, ce n'est plus vraiment un const,
correct ?
Bonjour, Pour créer un tableau constant tu peut utiliser la syntaxe suivante : private static readonly long[] test = { 123456676778888L, 182989389893L};
HTH
Eric
"patrice" a écrit dans le message de news: 105301c4b58c$d8cdc770$ Bonjour à tous,
je continue ma découverte de c#. Me voila devant un problème que mes recherches ne m'ont pas permis de régler... Problème idiot :
comment définir un tableau constant que j'initialise au moment de la déclaration :
class toto {
const long[] test = { 123456676778888L, 182989389893L ...} //....
} le compilateur me renvoie l'erreur : <error>Array initializers can only be used in a variable or field initializer. Try using a new expression instead.</error>
Mais si j'utilise un new, ce n'est plus vraiment un const, correct ?
Merci d'avance !
patrice
Vincent Lascaux
> Bonjour, Pour créer un tableau constant tu peut utiliser la syntaxe suivante : private static readonly long[] test = { 123456676778888L, 182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par exemple (je veux dire changer la référence test), mais on peut faire test[0] = 12; C# et Java ont viré des mots clé comme const en copiant le C++ (et friend aussi il me semble non ?). Probablement que les développeur en C++ sont bêtes et avaient introduit des mots clés qui servaient à rien
-- Vincent
> Bonjour,
Pour créer un tableau constant tu peut utiliser la syntaxe suivante :
private static readonly long[] test = { 123456676778888L, 182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par
exemple (je veux dire changer la référence test), mais on peut faire test[0]
= 12;
C# et Java ont viré des mots clé comme const en copiant le C++ (et friend
aussi il me semble non ?). Probablement que les développeur en C++ sont
bêtes et avaient introduit des mots clés qui servaient à rien
> Bonjour, Pour créer un tableau constant tu peut utiliser la syntaxe suivante : private static readonly long[] test = { 123456676778888L, 182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par exemple (je veux dire changer la référence test), mais on peut faire test[0] = 12; C# et Java ont viré des mots clé comme const en copiant le C++ (et friend aussi il me semble non ?). Probablement que les développeur en C++ sont bêtes et avaient introduit des mots clés qui servaient à rien
-- Vincent
Zazar
Bonsoir,
> Pour créer un tableau constant tu peut utiliser la syntaxe suivante : > private static readonly long[] test = { 123456676778888L,
182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par exemple (je veux dire changer la référence test), mais on peut faire
test[0]
= 12;
Effectivement. On peut éviter ce problème en créant une classe possédant une variable interne de type long[] et un accesseur en lecture seule pour accéder aux éléments de ce tableau: on a ainsi un wrapper readonly du tableau.
C# et Java ont viré des mots clé comme const en copiant le C++ (et friend aussi il me semble non ?).
const et internal existent mais n'ont peut-être pas la même signification qu'en C++.
Probablement que les développeur en C++ sont bêtes et avaient introduit des mots clés qui servaient à rien.
Ca & peut-être à voir avec le fait que le C# n'a pas pour vocation d'être du C++.
-- Zazar
Bonsoir,
> Pour créer un tableau constant tu peut utiliser la syntaxe suivante :
> private static readonly long[] test = { 123456676778888L,
182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par
exemple (je veux dire changer la référence test), mais on peut faire
test[0]
= 12;
Effectivement. On peut éviter ce problème en créant une classe possédant une
variable interne de type long[] et un accesseur en lecture seule pour
accéder aux éléments de ce tableau: on a ainsi un wrapper readonly du
tableau.
C# et Java ont viré des mots clé comme const en copiant le C++ (et friend
aussi il me semble non ?).
const et internal existent mais n'ont peut-être pas la même signification
qu'en C++.
Probablement que les développeur en C++ sont
bêtes et avaient introduit des mots clés qui servaient à rien.
Ca & peut-être à voir avec le fait que le C# n'a pas pour vocation d'être du
C++.
> Pour créer un tableau constant tu peut utiliser la syntaxe suivante : > private static readonly long[] test = { 123456676778888L,
182989389893L};
Il me semble qu'apres ca, on ne peut pas faire test = new long[5]; par exemple (je veux dire changer la référence test), mais on peut faire
test[0]
= 12;
Effectivement. On peut éviter ce problème en créant une classe possédant une variable interne de type long[] et un accesseur en lecture seule pour accéder aux éléments de ce tableau: on a ainsi un wrapper readonly du tableau.
C# et Java ont viré des mots clé comme const en copiant le C++ (et friend aussi il me semble non ?).
const et internal existent mais n'ont peut-être pas la même signification qu'en C++.
Probablement que les développeur en C++ sont bêtes et avaient introduit des mots clés qui servaient à rien.
Ca & peut-être à voir avec le fait que le C# n'a pas pour vocation d'être du C++.