.NET 2.x Корректный запуск BAT-файла - C#
Формулировка задачи:
С# , BAT , CMD Интересная ошибка
Столкнулся с ошибкой
например создали bat файл
Дальше класс в проекте на проверку
И код программы
Как заметили когда в батнику прописано так
programma Привет Карапулька
а в проге код args[0] получить команду
то выводит Привет Карапулька
Но если стереть в батнику: Привет Карапулька
и оставить просто programma
То код в проге args[0] , каким то чудом проходит все проверки в классе Null_pr
и выводит завершить прогу с ошибкой (Прекращена робота programma ) - закрыть программу
при этом не написав - не вывев сообщения что прописаны в классе
наверное я еще не знаю , скажите что добавить ?
Чтоб это проверялось если args[0] пуст и нету текста
то оно вывело ошибку что прописано в классе- а не завершало сеанс пограммы ?
@ echo off programma pause
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace path_link_files
{
class Null_pr
{
public string str_tonull_str(string s)
{
string str=String.Empty;
try
{
if (s!=String.Empty)
{
str = s;
}
else
{
MessageBox.Show("Пустое значение: " + s, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); ;
}
return str;
}
}
}using System;
using System.Collections.Generic;
using System.Text;
namespace programma
{
class Program
{
static Null_pr nul=new Null_pr();
static void Main(string[] args)
{
string com=String.Empty;
int n = 0;
color("programma (v 1.0)");
com = nul.str_tonull_str(args[0]);
Console.WriteLine(com);
}
static void color(string tit)
{
Console.Title = tit;
Console.BackgroundColor=ConsoleColor.DarkCyan;
Console.Clear();
Console.ForegroundColor=ConsoleColor.White;
}
}
}@ echo off programma pause
Кажется я догадываюсь , секрет в цикле
как бы так )))
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(args[i]);
}Решение задачи: «.NET 2.x Корректный запуск BAT-файла»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace path_link_files
{
class Null_pr
{
public string str_tonull_str(int i,string[] s)
{
string str=String.Empty;
try
{
if (0<s.Length)
{
if (s[i] != String.Empty)
{
str = s[i];
}
else
{
MessageBox.Show("Пустое значение: " + s, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("Пустое значение: \nИндекс получения данных cmd: "+i+"\nКоличество индексов: "+s.Length, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); ;
}
return str;
}
}
}