Alleggerò solo un'immagine per riferimento su questo. Sono perplesso. Nel debugger i valori sono definitivamente uguali tra loro, ma Find<T>
restituisce ancora null e Exists<T>
restituisce ancora false. Per riferimento: UserRepository
strumenti IEnumerable<T>
dove T
è DomainUser
.List.Find <T>() restituisce null anche se corrispondenza del predicato
risposta
Il problema è che il tipo di CommandArgument
è object
, quindi è l'esecuzione di un controllo d'identità di riferimento. (Sono sorpreso che non si sta dando un avvertimento in fase di compilazione.)
Si potrebbe o lanciare CommandArgument
a string
, o utilizzare Equals
:
u => u.Username == (string) args.CommandArgument
o
u => Equals(u.Username, args.CommandArgument)
(L'utilizzo del metodo statico Equals
significa che funzionerà anche per gli utenti con un nome utente null
, a differenza di u.Username.Equals(args.CommandArgument)
.)
non vorrei convertire la sequenza per una lista anche se - mi basta usare LINQ invece:
DomainUser toRemove =
repo.FirstOrDefault(u => u.Username == (string) args.CommandArgument);
Grazie per aver sottolineato che posso usare 'FirstOrDefault' senza chiamare' ToList'. Immagino di aver visto solo il tipo di 'CommandArgument' su' Control' (è 'String') e non' RepeaterCommandEventArgs'. – tuespetre
Hai provato:
u.Username.Equals(args.CommandArgument)
- 1. Come utilizzare l'espressione del generatore CMake $ <TARGET_FILE: tgt>?
- 2. Come convertire un'espressione <Func <T, bool>> in un predicato <T>
- 3. URLForUbiquityContainerIdentifier restituisce nil anche se configurato correttamente
- 4. Corrispondenza modello/predicato funzione in Python
- 5. È considerato pericoloso List.Find <T>? Che cos'è un modo migliore per fare l'elenco <T>.Find (Predicato <T>)?
- 6. predicato IndexOf?
- 7. ExecuteScalar() restituisce null anche se i dati sono stati aggiunti al DB
- 8. Come verificare se mysql restituisce null/empty
- 9. SQL Server Restituisce Null se esiste
- 10. GROUP_CONCAT restituisce NULL se qualsiasi valore è NULL
- 11. MySQL CONCAT restituisce NULL se qualsiasi campo contiene NULL
- 12. Perché resolveBinding() restituisce null anche se setResolveBindings (true) sul mio ASTParser?
- 13. Query Sqlite che restituisce 0 anche se il valore è null
- 14. CoCreateInstance restituisce E_NOINTERFACE anche se viene trovata l'interfaccia
- 15. Restituisce la miniatura del video null
- 16. UITextfield.text restituisce null
- 17. Request.URL restituisce sempre http anche se SSL è abilitato
- 18. getAnnotations Reflection() restituisce NULL
- 19. Perché getHandler() restituisce null?
- 20. corrispondenza opzionale neo4j e null
- 21. Il caricamento del file restituisce null
- 22. getActionView() del mio MenuItem restituisce null
- 23. perché Files.probeContentType restituisce null
- 24. SQL colonna a incremento intero anche se null
- 25. EF6 DbSet <T> restituisce NULL in Moq
- 26. Request.getAttribute ("javax.servlet.request.X509Certificate") Restituisce Null
- 27. getView() restituisce null
- 28. BitmapFactory.decodeByteArray() restituisce NULL
- 29. EKEvent eventIdentifier restituisce null
- 30. Eclipse getResourceAsStream restituisce null
Prova la conversione in un array di byte e di controllo dei byte codici. Sto indovinando uno di loro ha un byte '0' aggiunto. – Alex