Ich habe eine Codezeile in meinem Rasierer, der wie dieseWas ist schneller - ein String Split(). Enthält() in meinem Controller oder in Rasiermesser? ASP.Net MVC
@if(spaceEvent.RegisteredStudentIds.Split(',').Contains(@Model.MeStudentId)) {
// show some specific HTML
}
Wäre es schneller sein aussieht, wenn ich die Spaltung entfernt und führte sie in meinem Controller? Ich könnte sogar in der Lage sein, die .contains() in der Steuerung zu tun war gut! Oder ist es in diesem Fall sogar wichtig?
Profil es. Sie haben auch unterschiedliche Funktionen. Splitting wird nicht mit 'Rob, ert 'übereinstimmen, wird nicht geteilt. – Rob
Siehe: [Leistung rant] (https://ericlippert.com/2012/12/17/performance-rant/). Wenn Sie jedoch überprüfen möchten, ob eine große Zeichenfolge mindestens einmal eine kleinere Zeichenfolge enthält, können Sie überprüfen, ob [IndexOf] (https://msdn.microsoft.com/library/k8b1470s.aspx) null oder höher ist. (Weniger als Null bedeutet: nicht gefunden). – Corak
Schneller ist nicht wichtig, es sei denn, Sie haben ein nachweisbares Leistungsproblem. Das heißt, Programmierung * Logik * sollte in der Steuerung und nicht in der Ansicht auftreten. –