zurück Ich habe ein String-Array lines
von denen ein Element den Wert Mister
oder Misses
enthalten kann.Array enthält Element, aber IndexOf gibt -1
var lines = "3.3. 3 - 3 88C Mister Molitor D For Ne Les Text".Split(' ');
Console.WriteLine(lines.Contains("Mister") || lines.Contains("Misses"));
kehrt true
. Jetzt habe ich den Index Mister
finden wollen, bzw. Misses
, mit
var index = lines.IndexOf("Mister");
(ich habe nicht den Code setzen für Misses
hier aus Gründen der Einfachheit)
jedoch Index immer ist -1
(trotz der Existenz des Elements im Array). Also dachte ich, es muss etwas anderes zu versuchen (Ich habe sogar ToLower()
, was aber nicht der Grund sein kann als lines.Contains()
otherwise'd return false):
var index = lines.FindIndex(x => x.ToLower() == "mister");
Aber trotzdem ...index = -1
. Das macht mich verrückt! Wir definitiv haben das Array mit dem Artikel, aber ich kann den Index nicht finden.
"3.3. 3 - 3 88C Misses Molitor D Für Ne Les Text" diese Zeichenfolge das Wort 'Misses' enthält, aber es enthält keine das Wort "Herr". –
Bitte beachten Sie, 'IndexOf' ist nur eine Methode von' string', aber hier im Code verwenden Sie string array. Was Sie suchen können, ist 'FindIndex' des Arrays. Benutze deinen Code und benutze 'misses' anstelle von 'mister' in 'var index = lines.FindIndex (x => x.ToLower() ==" mister ");' arbeitete für mich –
@DanielHollinrake Bitte lies es genau: ' (Ich habe den Code für Misses hier nicht aus Gründen der Einfachheit geschrieben). 'Misses' wird genauso behandelt wie' Mister'. Ich weiß, dass das ziemlich unordentlich ist, aber ich habe die ursprüngliche Saite bearbeitet, so dass es sofort klar ist. –