Как отметили @Gilad и другие, это действительно ожидаемый результат.Если строка не содержит значения разделения, вся строка возвращается в качестве первого элемента в списке.
Если вы планируете использовать это значение разделения позже, вы все равно можете использовать .Split()
метод определения, содержится ли ваша разделенная строка в строке, просто проверяя, равно ли число 1:
List<string> l = value.Split(new[] {"++"}).ToList();
if (l.Count == 1) {
//++ was not found in the string
} else {
//++ was found in the string (l.Count-1) times
}
Примечание предостережения: менее эффективно дляразбить строку и выделить массив, чем просто проверить с помощью метода, такого как .Contains()
.Используйте вышеприведенное решение, если вы можете использовать перечисленные выше элементы позже в коде.