Ce sont tout à fait les questions nooby, c'est juste que je n'ai pas fait ça depuis longtemps et que j'aurais besoin d'aide.

Voici donc le problème. J'ai ces informations de débogage sur ma liste "lstfriendlist": entrez la description de l'image ici

J'ai simplement mis un point d'arrêt dans mon activité, puis j'ai cliqué sur ma liste et j'ai vu que tous mes "amis" m'ont été amenés sur cette liste sous "friendUsername".

J'ai pu récupérer un certain nom d'utilisateur via:

        string temp = lstfriendList[11].friendUsername.ToString(); 

Cela renvoie "torben" sur ma chaîne "temp".

Maintenant, j'ai juste oublié comment utiliser la boucle foreach pour récupérer tous les objets dans l'ordre de ma liste, puis les écrire. Je suis désolé de vous déranger avec ça, mais j'ai simplement oublié :(

J'espère que vous pouvez m'aider. Je vous remercie :)

0
innomotion media 27 nov. 2017 à 16:56

3 réponses

Meilleure réponse

Vous avez déjà déclaré une variable de type "Friend" dans la tête de la boucle foreach. Vous pouvez maintenant accéder aux propriétés de l'objet actuel en tapant

foreach (Friend f in lstfriendList)
{
    string temp = f.friendUsername;
}
5
Sebastian Hofmann 27 nov. 2017 à 14:00

Je pense qu'il n'y a aucun moyen de rester coincé là, puisque vous avez maintenant l'objet Friend (f) avec vous dans la boucle, placez simplement un . après f et voyez ce que suggère intellisense, Quoi qu'il en soit, c'est plutôt bien si vous modifiez la classe comme suit, avec override ToString ():

class Friend
{
    public string friendUsername { get; set; }
    public int friendId { get; set; }
    // Add rest of properties here
    public override string ToString()
    {
        return "ID :" + friendId +  "\n Friend Name: " + friendUsername;
        // Append rest of properties here
    }
}

Et puis utilisez comme ceci:

foreach (Friend f in lstfriendList)
{
    string friendDetails = f.ToString();
    Console.WriteLine(friendDetails);
}
1
sujith karivelil 27 nov. 2017 à 14:03

Pour compléter la réponse de Sebastian Hofmann, vous pouvez utiliser .OrderBy ou .OrderByDescending pour commander sur nom ou nom d'utilisateur

foreach (Friend f in lstfriendList.OrderBy(list => list.friendUsername))
{
    string temp = f.friendUsername;
}

Renverra le nom d'utilisateur de a à z

foreach (Friend f in lstfriendList.OrderByDescending(list => list.friendUsername))
{
    string temp = f.friendUsername;
}

Renvoie le nom d'utilisateur z à un

2
EchoZulu 27 nov. 2017 à 14:05
47512641