System.IndexOutOfRangeException:索引超出了数组的范围。在C:\ Documents and Settings \ Administrator \ Desktop \ WinServiceProject \ WinService.cs中的WinServiceProject.WinService.OnStart(String [] args):第515行
{
string[] stringArray = row["Version"].ToString().Split('.');
Line 515 -----> switch (stringArray[0] + "." + stringArray[1] + ".")
{
case "11.0.":
sqlServerVersion = "SQL Server 2012";
file.WriteLine("SQL Server 2012");
break;
case "10.50.":
sqlServerVersion = "SQL Server 2008 R2";
file.WriteLine("SQL Server 2008 R2");
break;
case "10.0.":
sqlServerVersion = "SQL Server 2008";
file.WriteLine("SQL Server 2008");
break;
case "9.00.":
sqlServerVersion = "SQL Server 2005";
file.WriteLine("SQL Server 2005");
break;
}
}`
如果有人能帮助我,请...谢谢。
答案 0 :(得分:0)
您的stringArray
包含的元素少于两个。这是您的问题,您需要确保它在switch
statement.BTW之前至少包含两个元素,如果您只想追加{{ 1}}到最后,您不需要dot
,只需使用String.Split
方法:
Insert
或者只使用字符串连接:string str = row["Version"].ToString();
str = str.Insert(str.Length, ".");
switch(str)
{
...
}
;