Conversion int en string? [Résolu]

Signaler
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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 :)

6 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
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
*/
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
27
Salut

Avec un syntaxe comme ça ?

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

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

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
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
27
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