Conversion int en string?

Résolu
shadow1779
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
- 16 nov. 2008 à 13:58
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
- 16 nov. 2008 à 21:45
Bonjour,

je débute en C# et j'ai commencé a me faire une petite application simple pour lister des process dans un listview et réaliser des opérations dessus (kill, mettre au premier plan...). Le seul soucis que j'ai actuellement est le coté fortement typé de C#, ma méthode mainForm_Load doit remplir le listview (en mode détail) avec la liste des processus, cependant les éléments retournés sont parfois des entiers, et les items du listview doivent être de type string.

        private void mainForm_Load(object sender, EventArgs e)
        {
            Process[] processes = Process.GetProcesses();
            var query = from p in processes
                        select p;

            foreach(Process process in query){
                ListViewItem item = new ListViewItem();
                item.SubItems[0].Text = process.Id;  // Impossible de convertir implicitement le type 'int' en 'string'
                item.SubItems[1].Text = process.ProcessName;
                item.SubItems[2].Text = process.PrivateMemorySize; // idem
                item.SubItems[4].Text = process.ProcessorAffinity; // idem mais 'System.IntPtr' en 'string'
                lstProcesses.Items.Add(item);
            }
        }

Comment faire cela proprement?

Merci d'avance :)
A voir également:

6 réponses

cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
16 nov. 2008 à 15:07
Salut,

Tout type possède une méthode ToString permettant d'obtenir une représentation sous forme de chaine de caractères censée le représenter.

item.SubItems[0].Text = process.Id.ToString();

/*
coq
MVP Visual C#
CoqBlog
*/
3
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
16 nov. 2008 à 15:14
Salut

Avec un syntaxe comme ça ?

item.SubItems[4].Text = process.ProcessorAffinity as String;
ou
item.SubItems[4].Text = process.ProcessorAffinity.ToString();
3
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
16 nov. 2008 à 15:24
J'ai comme un doute pour l'utilisation de l'opérateur "as".

/*
coq
MVP Visual C#
CoqBlog
*/
0
shadow1779
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

16 nov. 2008 à 15:45
merci beaucoup ^^

Pour le .ToString ca fonctionne, pour le as ca donne encore une autre erreur :s

Erreur    1    Impossible de convertir le type 'int' en 'string' via une conversion de référence, une conversion boxing, une conversion unboxing, une conversion wrapping ou une conversion null type    C:\Users\Shadow\Documents\Visual Studio 2008\Projects\ProcessLinq\ProcessLinq\mainForm.cs    30    41    ProcessLinq
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xmox667
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
4
16 nov. 2008 à 17:37
0
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
16 nov. 2008 à 21:45
Ok
pour le as

Je l'utilise pour  des cast de object --> string exemple lecture de datareader
et pour int --> string il faut utiliser un convertisseur ToString
0