Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
Comment modifier un élément ? du style CLIENT[indice].age = 25
Comment modifier un élément ? du style CLIENT[indice].age = 25
Comment modifier un élément ? du style CLIENT[indice].age = 25
Vincent a écrit :Comment modifier un élément ? du style CLIENT[indice].age = 25
CLIENT[indice] te retourne un objet de type... 'object'. Tu dois donc
caster cet objet dans son type d'origine.
object o = (Personne)CLIENT[indice];
Donc
((Personne)Client[indice]).age = 25;
--
Delf
Vincent a écrit :
Comment modifier un élément ? du style CLIENT[indice].age = 25
CLIENT[indice] te retourne un objet de type... 'object'. Tu dois donc
caster cet objet dans son type d'origine.
object o = (Personne)CLIENT[indice];
Donc
((Personne)Client[indice]).age = 25;
--
Delf
Vincent a écrit :Comment modifier un élément ? du style CLIENT[indice].age = 25
CLIENT[indice] te retourne un objet de type... 'object'. Tu dois donc
caster cet objet dans son type d'origine.
object o = (Personne)CLIENT[indice];
Donc
((Personne)Client[indice]).age = 25;
--
Delf
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de
types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de
types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de
types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de votre
code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement typé,
ce qui permet d'eviter les cast, fournit une détection des erreurs de types à
la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure : personne.nom
personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
DVDB a écrit :
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" <nospam@nospam.fr> a écrit dans le message de news:
edNigVxUGHA.5808@TK2MSFTNGP12.phx.gbl...
DVDB a écrit :
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des erreurs
de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" a écrit dans le message
de news: %En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" <arnaud.cleret@gmail.antispam.com> a écrit dans le message
de news: %23pnLSn0UGHA.4452@TK2MSFTNGP12.phx.gbl...
En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" <nospam@nospam.fr> a écrit dans le message de news:
edNigVxUGHA.5808@TK2MSFTNGP12.phx.gbl...
DVDB a écrit :
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" a écrit dans le message
de news: %En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données d'un
ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
La source de l'erreur est là :
- int age = private int age et non public
Dans tous les cas (et ça n'engage que moi :)), les normes de
développements et bonnes pratiques préviligient le fait :
- De toujours préciser la portée d'un membre (private, public, internal
...)
- D'écrire un accesseur pour tout membre public permettant ainsi
d'effectuer les controles nécessaire lors d'affectation d'une valeur. Par
exemple :
public int age
{
get {return this._age;}
set
{
if(value < 0) throw new ArgumentException("Valeur incompatible
!");
this._age = value;
}
}
--
arno - http://www.dotnetguru2.org/acleret/
"Vincent" a écrit dans le message de news:Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" a écrit dans le
message de news: %En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données
d'un ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
La source de l'erreur est là :
- int age = private int age et non public
Dans tous les cas (et ça n'engage que moi :)), les normes de
développements et bonnes pratiques préviligient le fait :
- De toujours préciser la portée d'un membre (private, public, internal
...)
- D'écrire un accesseur pour tout membre public permettant ainsi
d'effectuer les controles nécessaire lors d'affectation d'une valeur. Par
exemple :
public int age
{
get {return this._age;}
set
{
if(value < 0) throw new ArgumentException("Valeur incompatible
!");
this._age = value;
}
}
--
arno - http://www.dotnetguru2.org/acleret/
"Vincent" <vincent31spamaoter@wanadoo.fr> a écrit dans le message de news:
ON0Ewp2UGHA.1304@tk2msftngp13.phx.gbl...
Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" <arnaud.cleret@gmail.antispam.com> a écrit dans le
message de news: %23pnLSn0UGHA.4452@TK2MSFTNGP12.phx.gbl...
En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" <nospam@nospam.fr> a écrit dans le message de news:
edNigVxUGHA.5808@TK2MSFTNGP12.phx.gbl...
DVDB a écrit :
Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :
Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données
d'un ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent
La source de l'erreur est là :
- int age = private int age et non public
Dans tous les cas (et ça n'engage que moi :)), les normes de
développements et bonnes pratiques préviligient le fait :
- De toujours préciser la portée d'un membre (private, public, internal
...)
- D'écrire un accesseur pour tout membre public permettant ainsi
d'effectuer les controles nécessaire lors d'affectation d'une valeur. Par
exemple :
public int age
{
get {return this._age;}
set
{
if(value < 0) throw new ArgumentException("Valeur incompatible
!");
this._age = value;
}
}
--
arno - http://www.dotnetguru2.org/acleret/
"Vincent" a écrit dans le message de news:Merci pour votre aide,
j'ai du mal avec la syntaxe :
si j'ai :
public struc CLIENT
{
public string nom;
int age;
}
ensuite
List<CLIENT> MaListeClient = new List<CLIENT>();
où dois je déclarer :
public int age
{
get {return this._age}
set {this._age = value}
}
Merci
"Arnaud CLERET" a écrit dans le
message de news: %En effet je parlais d'accesseur et de readonly car quand vous faites :
MaListeClient[0].age%; cela signifie que la propriété "age" de l'objet
"CLIENT" possède un accesseur de type :
public int age
{
get {return this._age}
set {this._age = value}
}
ou plus simplement :
public int age.
Dans ces deux cas l'affectation de valeur doit fonctionner.
Par contre si vous ne stipuler pas le "set" dans l'accesseur ou que vous
déclarer votre propriété avec le mot clé "readonly" ou "const", il vous
sera impossible d'y affecter une valeur telle que vous souhaitez le
faire.
--
arno - http://www.dotnetguru2.org/acleret/
"didier" a écrit dans le message de news:DVDB a écrit :Si vous utilisez le framework 2.0 (VS2005 donc), et si le contexte de
votre code le permet, pourquoi ne pas utiliser la classe
System.Collections.Generic.List?
Pour faire simple, c'est la même chose que ArrayList, mais fortement
typé, ce qui permet d'eviter les cast, fournit une détection des
erreurs de types à la compilation, etc...
Pour utiliser:
List<CLIENT> MaListeClients=new List<CLIENT>();
MaListeClient.Add(new CLIENT());
MaListeClient[0].age%;
Si ça peut servir...
"Vincent" a écrit :Bonjour,
Dans mon libre sur C#, rien n'indique comment modifier les données
d'un ArrayList. Est-ce possible ?
j'ai un ArrayList CLIENT qui contient des objets ( structure :
personne.nom personne.age ...)
Comment modifier un élément ? du style CLIENT[indice].age = 25
Merci
Vincent
.
Bonjour,
J'ai essayé avec List et ça ne marche pas.
Il me dit que ce n'est pas une variable.
On dirait que c'est en lecture seule ?
Y a un autre truc a faire avant ?
Merci
dans un news précédent il est question d'accesseur et de readonly ?!
encore Merci
Vincent