c#索引超出了数组界限hour = Convert.ToInt32(strList[1]);

privateDateTimeGetDateTime(DateTimeymd,stringhm){inthour=0;intminute=0;if(ymd!=null){... private DateTime GetDateTime(DateTime ymd, string hm)
{
int hour = 0;
int minute = 0;
if (ymd != null)
{
string[] strList = hm.Split(',');
DateTime vacationTime = new DateTime();
switch (strList.Length)
{
case 0:
vacationTime = new DateTime(ymd.Year, ymd.Month, ymd.Day);
break;
case 1:
hour = Convert.ToInt32(strList[1]);//索引超出了数组界限
vacationTime = new DateTime(ymd.Year, ymd.Month, ymd.Day, hour, minute, 0);
break;
case 2:
hour = int.Parse(strList[1]);
minute = int.Parse(strList[2]);
vacationTime = new DateTime(ymd.Year, ymd.Month, ymd.Day, hour, minute, 0);
break;
default:
break;
}
}
各位大牛,这是为什么吖
展开
 我来答
dalmeeme
2015-11-04 · TA获得超过2915个赞
知道大有可为答主
回答量:1493
采纳率:81%
帮助的人:1071万
展开全部
既然strList.Length为1,那么strList数组里就不存在第二个元素,自然不存在strList[1]了。注意:数组元素的下标从0开始,不是从1开始的。所以应该是strList[0],后面两个也是写错了。
然后去远足
2015-11-04 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2446万
展开全部
数组下标是从 0 开始的。

你自己的代码里先判断了 strList 的长度,结果还当里面只有一个元素的时候去取了下标是 1(也就是第二个)的元素,那能对吗?
追问
你是对的,采纳的时候按错了
还有一点,分割不能按逗号分割,要按冒号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式