Почему параметр count говорит, что значение должно быть меньше или равно -83 [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Почему параметр count говорит, что значение должно быть меньше или равно -83 [дубликат]

Сообщение Anonymous »

Не уверен, что это актуально, но у меня есть функция, которая возвращает индекс следующего элемента массива после того, как он находит пробел. Предполагаемым элементом будет первая буква нового слова после пробела.

Код: Выделить всё

public static int[] Indexes(string text)
{

List indexes = new List();

for(int i = 0; i < text.Length; i++)
{

if(text[i] == ' ')
{
indexes.Add(i + 1);
}

}

return indexes.ToArray();

}
С помощью этого массива индексов я хотел бы писать заглавными буквы каждого слова после пробелов. Я также делаю все остальные символы в исходном текстовом параметре строчными, чтобы отображать текст в регистре заголовка для возвращаемого текста. Вот что мне нужно сделать

Код: Выделить всё

  public static string TitleCase(string title, string minorWords="")
{
title = title.ToLower();

int[] indexes = new int[title.Length];

indexes = Indexes(title);

foreach(int i in indexes)
{
string sChar = new string(title[i].ToString());

title.Remove(title[i], 1);

title.Insert(i, sChar.ToUpper());
}

return title;
}
Как только доберусь

Код: Выделить всё

title.Remove(title[i], 1);
Я получаю сообщение об ошибке

System.ArgumentOutOfRangeException: count ('1') должно быть меньше илиравен '-83'. (Параметр «count») Фактическое значение — 1.

трассировка стека:

at System.ArgumentOutOfRangeException.ThrowGreater[T](значение T, T
other, String paramName) в System.String.Remove(Int32 startIndex,
Int32 count) at Kata.TitleCase(String title, String majorWords)

at Solution.SolutionTest.MyTest(String sampleTitle, String
sampleMinorWords, ожидается строка) at
System.RuntimeMethodHandle.InvokeMethod( Цель объекта, аргументы Void**
, подпись подписи, логическое значение isConstructor) at
System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object
obj, Span`1 copyOfArgs, BindingFlags ignoreAttr)


Подробнее здесь: https://stackoverflow.com/questions/792 ... qual-to-83
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»