Ich werde nur ein Bild als Referenz auf diesem einhängen. Ich bin ratlos. Im Debugger stimmen die Werte definitiv überein, aber Find<T>
gibt immer noch null zurück, und Exists<T>
gibt immer noch false zurück. Als Referenz: UserRepository
implementiert IEnumerable<T>
wobei T
DomainUser
ist.List.Find <T>() gibt NULL zurück, obwohl Prädikat
Antwort
Das Problem ist, dass die Art der CommandArgument
ist object
, so ist es eine Referenz Identitätsprüfung durchgeführt wird. (Ich bin überrascht dies nicht, dir gibt einen Compiler-Warnung.)
Sie entweder CommandArgument
zu string
werfen könnte, oder Equals
verwenden:
u => u.Username == (string) args.CommandArgument
oder
u => Equals(u.Username, args.CommandArgument)
(Mit der statischen Methode Equals
bedeutet dies, dass es auch für Benutzer mit einem null
Benutzernamen funktioniert, im Gegensatz zu u.Username.Equals(args.CommandArgument)
.)
Ich würde die Sequenz auf eine Liste, wenn auch nicht konvertieren - ich würde LINQ nur statt:
DomainUser toRemove =
repo.FirstOrDefault(u => u.Username == (string) args.CommandArgument);
Danke für den Hinweis, dass ich 'FirstOrDefault' verwenden kann, ohne' ToList' aufzurufen. Ich denke, ich habe mir nur den Typ von 'CommandArgument' im' Control' (es ist 'String') angesehen und nicht den' RepeaterCommandEventArgs'. – tuespetre
Haben Sie versucht:
u.Username.Equals(args.CommandArgument)
- 1. IOwinContext.Get <DbContext>() gibt null zurück
- 2. getResource ("/ some.jar") gibt null zurück, obwohl "some.jar" in getURLs exists()
- 3. inventory.getPurchase() gibt immer null zurück, obwohl bereits gekauft
- 4. dlsym gibt NULL zurück, obwohl das Symbol existiert
- 5. Assembly.GetType gibt Null zurück
- 6. VB.Net List.Find. Pass Werte
- 7. InStr gibt immer Null zurück
- 8. System.console() gibt null zurück
- 9. System.Web.Security.FormsAuthentication.Encrypt gibt null zurück
- 10. SharedObject.getLocal() gibt null zurück
- 11. startActionMode gibt null zurück
- 12. Process.Start gibt null zurück
- 13. sessionFactory gibt null zurück
- 14. mapFragment.getMap() gibt null zurück
- 15. getBluetoothLeAdvertiser() gibt null zurück
- 16. App.Config gibt null zurück
- 17. CloudBlob.DownloadToStream gibt null zurück
- 18. CFBundleDisplayName gibt 'null' zurück
- 19. avformat_alloc_context gibt null zurück
- 20. CMSampleBufferGetImageBuffer gibt null zurück
- 21. ListTweetOnUserTimeline gibt null zurück
- 22. getLayoutParams gibt null zurück?
- 23. ConfigurationManager.AppSettings - Gibt Null zurück
- 24. TextBlock.GetBindingExpression gibt NULL zurück
- 25. SqlCommand.ExecuteScalar() gibt Null zurück
- 26. NSClassFromString gibt null zurück
- 27. getActionBar gibt null zurück
- 28. ParentViewController gibt null zurück
- 29. TextView gibt Null zurück
- 30. App.config gibt null zurück
Versuchen Sie, einen Byte-Array konvertieren und den Byte-Codes zu überprüfen. Ich vermute, einer von ihnen hat ein angehängtes '0' Byte. – Alex