System.IndexOutOfRangeException: индекс вышел за пределы
6588 просмотра
2 ответа
У меня есть программа на C #, которая прекрасно работает, когда я запускаю ее в Visual Studio.
Но когда я запускаю файл, я получаю сообщение об ошибке main.
Ошибка:
Необработанное исключение: System.IndexOutOfRangeException: индекс вышел за пределы массива
Мое главное: ошибка есть у int tala = convert.toInt32 ...
namespace MultiplicationTable
{
class Program
{
static void Main(string[] args)
{
int tala = Convert.ToInt32(args[0]);
MultiplicationTable test = new MultiplicationTable(tala);
Console.ReadLine();
}
}
}
Есть идеи?
Автор: user3265963 Источник Размещён: 12.11.2019 09:39Ответы (2)
6 плюса
Проблема: Когда вы запускаете ее из Visual Studio, вы предоставляете аргументы, но когда вы запускаете программу напрямую, дважды щелкнув по ней, вы не можете предоставить аргументы, так как она будет вызвана напрямую.
Решение: вам нужно правильно указать аргументы командной строки, выполните следующие шаги, чтобы запустить вашу программу из командной строки
Шаг 1: перейти к командной строке
Шаг 2: перейти к вашей программе exe путь к файлу
Шаг 3: теперь запустите программу, предоставив аргументы командной строки, как показано ниже:
c:\myprogrampath\program.exe 12
Попробуйте этот код, чтобы избежать исключений:
if(args.Length>0)
{
int tala = Convert.ToInt32(args[0]);
MultiplicationTable test = new MultiplicationTable(tala);
Console.ReadLine();
}
else
{
Console.WriteLine("No Command Line Arguments - Quiting");
}
Автор: Sudhakar Tillapudi
Размещён: 14.02.2014 03:36
-1 плюса
Да,
Как сказал ранее создатель, либо вы должны передать аргументы в вашу программу, либо вы должны проверить, не является ли args ненулевым с помощью оператора if, и «перехватить» эту ошибку.
if(args) {
//here your code
}
Кроме того, вы можете попробовать оператор try - catch:
try {
//here you read the arguments and pass to a variable
}
catch(System.IndexOutOfRangeException) {
//other codepart
}
Автор: user2924839
Размещён: 14.02.2014 03:39
Вопросы из категории :
- c# Преобразовать десятичную в двойную?
- c# Как рассчитать чей-то возраст в C #?
- c# Как вы сортируете словарь по значению?
- c# В чем разница между int и Integer в Java и C #?
- c# Как создать новый экземпляр объекта из Типа
- c# Datatable против Dataset
- c# Setting Objects to Null/Nothing after use in .NET
- c# Конвертировать целые числа в записанные числа
- c# Почему я не могу иметь абстрактные статические методы в C #?
- c# Как я могу оценить код C # динамически?
- c# Как заставить кнопку выглядеть так, как будто она нажата?
- c# Цикл C # - разрыв против продолжения
- c# Почему в C # нельзя хранить объект List <string> в переменной List <object>
- c# В чем разница между строкой и строкой в ??C #?
- c# Что означает атрибут Enum [Flags] в C #?
- c# Лучший способ получить доступ к элементу управления в другой форме в Windows Forms?
- c# Преобразование общего типа из строки
- c# C # 3.0 авто-свойства - полезно или нет?
- c# Как удалить дубликаты из массива C #?
- c# Как можно создать документ Word в C #?