下面的示例代碼需要兩個字符串參數從CMD如如何將一個空參數傳遞給主類?
c:\myprogram.exe bobby henn
輸出
first name is bobby
last name is henn
但是當我通過只有一個參數將其擲我錯誤,即使我中所指定的長度,如果情況
c:\myprogram.exe bobby
未處理的異常:System.IndexOutOfRangeException:索引是 超出數組範圍。在command.Program1.Main(字符串[] 參數)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
namespace command
{
public class Program
{
public void ben(string bobby, string x)
{
if (bobby == null | x.Length < 1)
{
Console.WriteLine("Empty value, pass any parameter");
}
else
{
Console.WriteLine("First Name is " + bobby);
Console.WriteLine("Last Name is " + x);
Console.ReadLine();
}
}
}
class Program1
{
static void Main(string[] args)
{
Program glb = new Program();
glb.ben(bobby:args[0],x:args[1]);
}
}
}
並且也有任何其他方式來調用參數到主要方法,而不是bobby:args[0],x:args[1]
http://stackoverflow.com/a/271600/3585278 – Danieboy
你必須檢查有多少參數傳入'Main'。如果只有一個,你必須用'string.Empty'或'null'來調用'ben'。 – germi
@Danieboy:與傳遞null參數無關 - 這是數組邊界異常的問題 - 只能通過檢查參數數量來解決。 – PaulF