Je construis actuellement une nouvelle commande dans mon serveur de discord et je suis en difficulté pour convertir l'Userid Retour au surnom de l'utilisateur sur mon serveur.
Je reçois un opérateur de message d'erreur '==' est ambigu des opérandes de type ulong et long p>
pourrait m'aider à comprendre ce que j'ai fait de mal p>
3 Réponses :
dans le .where (x => x.id = mordid) code>, vous devez utiliser
== code> pour comparer au lieu de
= code> ( Attribution) comme vous l'avez fait auparavant.
var memberId = reader.GetInt64(0);
// search for the user just a single time!
var user = Context.Guild.Users.First(x => x.Id == memberId);
// apply the rule to define the name string
string name = @string.IsNullOrEmpty(user.Nickname) ? user.Nickname : user.Username;
var votes = reader.GetInt64(2);
GOTWVote.Add($@"{name} has received {votes} vote(s)");
Essayez de casting En outre, vous avez quelques autres choses à réparer comme l'autre réponse et commentaires suggèrent. ;) p> p> Michaid code> à un
ulong code> (ou
uint64 code>) de sorte que le type correspond à
x.id code>: < Pré> XXX PRE>
La première étape consiste à lancer pour résoudre l'opérateur ambigu. Ensuite, réorganisez votre requête pour vous débarrasser des deux sous-sollicitations supplémentaires:
Int64 memberId = reader.GetInt64(0); var user = Context.Guild.Users .Where(x => x.Id == (UInt64)memberId) .First(); string name = user.Nickname != null ? user.Nickname : user.Username; Int64 votes = reader.GetInt64(2); GOTWVote.Add($@"{name} has received {votes} vote(s)");
Cela a également fonctionné une fois que j'ai changé uint en uint merci
où (x => x.id = meuble) code> cela ne compilera pas.
Où (x => x.id = meuble) devrait être où (x => x.id == membre). Vous utilisez l'opérateur d'affectation (=), devez utiliser un comparateur (==).
Ongle, ça a fait le tour !, merci!