Индекс находится за границей массива - C#

Узнай цену своей работы

Формулировка задачи:

Есть код, где хочу удалить 1 символ. Длинна массива 24. Через функцию StreangBuilder.Remove(23,1) пишет что индекс (23) находится за границей массива. Приложил скрин. Вот код
        public static string Result(string textbox)
        {
            int[] result = new int[textbox.Length];
            int max = 0;
            int temp_index = 0;
            for (int i = 0; i < result.Length; i++)
            {
                result[i] = Convert.ToInt32(textbox[i]);
                if (result[i] > max)
                {
                    max = result[i];
                    temp_index = i;
                }
            }
            string[] result_string = new string[result.Length];
            for (int i = 0; i < result.Length; i++)
            {
                result_string[i] = result[i].ToString();
            }
            StringBuilder st = new StringBuilder(result_string.Length);
            st.Append(result_string);
            st.Remove(temp_index, 0);
            return st.ToString();
        }
Помогите разобраться.

Решение задачи: «Индекс находится за границей массива»

textual
Листинг программы
public static string Result(string textbox)
{
    int max = default(int), tempIndex = default(int);
    var result = new int[textbox.Length];
    
    for (int i = 0; i < result.Length; i++)
    {
        result[i] = Convert.ToInt32(textbox[i]);
        
        if (result[i] <= max) continue;
        max = result[i];
        tempIndex = i;
    }
    var resultString = new string[result.Length];
    for (int i = 0; i < result.Length; i++)
        resultString[i] = result[i].ToString();
 
    var list = resultString.ToList();
    list.RemoveAt(tempIndex);
 
    return string.Join(" ", list);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы