Conversion int en string? [Résolu]

Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
- - Dernière réponse : 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 :)
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
3
Merci
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
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
23
3
Merci
Salut

Avec un syntaxe comme ça ?

item.SubItems[4].Text = process.ProcessorAffinity as String;
ou
item.SubItems[4].Text = process.ProcessorAffinity.ToString();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
J'ai comme un doute pour l'utilisation de l'opérateur "as".

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
0
Merci
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
Commenter la réponse de shadow1779
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
0
Merci
Salut,
L'opérateur as est semblable à une opération de cast:
[http://msdn.microsoft.com/fr-fr/library/cscsdfbt%28VS.80%29.aspx [Lien]]
http://msdn.microsoft.com/fr-fr/library/cscsdfbt(VS.80).aspx
A+
Commenter la réponse de xmox667
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
23
0
Merci
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
Commenter la réponse de nhervagault