C#控制台程序中switch (args[0])语句中,错误“索引超出了数组界限”,该怎么解决? 控制台switchc#索引数组 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你需要指定一个命令行参数。直接调试是不带参数的。或者加上:if (args.Count() == 0){ 没有参数,执行默认的功能}else{ switch args[0] ...} 需要对参数进行判断,再加: default: Console.WriteLine("Selection error!"); break; 没传命令行参数进去吧。调试时,可以在vs的Project的属性设置默认的命令行参数, debug页中的Command line arguments中设置。 这个必须要有!!这个是给Main函数传参数的设置方法。这个可选,加上更好。。args这个数组里现在没有数据,所以索引越界了 要先对数组的长度加上判断static void Main(string[] args){if(args.Count()>0){ switch args[0] { case "-a": 功能1的代码; break; case "-b": 功能2的代码; break; case "-c": 功能3的代码; break; }}} 既然报错了 肯定是F5调试状态.. 既然是F5调试状态 就是直接起动exe怎么可能有参数呢..你得扔桌面一个快捷方式然后属性哪里 写 xxxx.exe a b c或者cmd启动d:xxxx.exe a b c 你把要实现的功能分开写吧,参考我在你的另一个帖子里的回复http://bbs.csdn.net/topics/390844358 http://bbs.csdn.net/topics/390844919来人呐,兄弟有难! static void Main(string[] args){ if(null !=args && args.Count()>0) { switch args[0] { case "-a": 功能1的代码; break; case "-b": 功能2的代码; break; case "-c": 功能3的代码; break; default: break; } }} F5调试也可以带参数的在VS主界面 单击调试(或者ALT+D)在弹出的窗口中,点 “ ****属性 ” 这里的***是你的项目名然后在点左边的调试选项卡,在右边的启动选项里的命令行参数下输入你的参数附图 tcpclient类post数据并获取返回结果的问题 winform中怎么读取xml实现省市县三级联动 c# winform ListView.Items.Count=0 问题 如何捕捉dll中抛出的异常? 对范型的疑惑 求教:关于用C#来实现判断EXCEL表格中一列数字的奇偶个数 如何用C#调用VBA6.DLL里的EbExecuteLine方法? 求助 在vs2003中构建dll文件和析构函数应用问题 关于reportVIew控件和rdcl报表的问题 50分求助关于数据库更新的一个小问题(在线等,立即接贴) 新手问题,希望大神能帮忙解决 关于WPF开发OA系统问题
或者加上:
if (args.Count() == 0)
{
没有参数,执行默认的功能
}
else
{
switch args[0]
...
}
再加:
default:
Console.WriteLine("Selection error!");
break;
这个必须要有!!
这个是给Main函数传参数的设置方法。
这个可选,加上更好。。args这个数组里现在没有数据,所以索引越界了
{
if(args.Count()>0)
{
switch args[0]
{
case "-a":
功能1的代码;
break;
case "-b":
功能2的代码;
break;
case "-c":
功能3的代码;
break;
}
}
}
或者
cmd启动
d:xxxx.exe a b c
来人呐,兄弟有难!
static void Main(string[] args)
{
if(null !=args && args.Count()>0)
{
switch args[0]
{
case "-a":
功能1的代码;
break;
case "-b":
功能2的代码;
break;
case "-c":
功能3的代码;
break;
default:
break;
}
}
}
在VS主界面
单击调试(或者ALT+D)
在弹出的窗口中,点 “ ****属性 ” 这里的***是你的项目名
然后在点左边的调试选项卡,在右边的启动选项里的命令行参数下输入你的参数附图