在参数取值不可能为零的情况下,内部函数是从0开始,还是从1开始?

seehack 2017-08-21 05:37:17
int GetBoxLocation(int boxIndex)//boxIndex是从值一般都是从1开始,不存在为零的情况
{
return 75+(boxIndex-1)*20;//这里减个1以示从0开始
}

void Main()
{
int sum=0;
for (int i=0;i<10;i++)
{
sum+=GetBoxLocation(i+1);//这里加1以示是第一个
}
}

//从上面代码看,看起来好象从一个box开始的,但多一个"减1加1"感觉有强迫症.
//我想代码是不是可以这样写

int GetBoxLocation(int boxIndex)
{
return 75+boxIndex*20;
}

void Main()
{
int sum=0;
for (int i=0;i<10;i++)
{
sum+=GetBoxLocation(i);
}
}



直接以零开始.你们如何处理的呢?
...全文
361 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43162119 2019-07-31
  • 打赏
  • 举报
回复
在onload里面先用;limit(1)把第一条数据先请求,如果返回为0那就是没有数据,如果返回数组长度是1那么就第二次请求这个时候skip(arr.length)就好了,因为arr.length = 1;不会报错,暂时是这样处理的
weixin_43162119 2019-07-31
  • 打赏
  • 举报
回复
分两次请求啊,第一次请求一个,之后在请求另外数据
ilikeff8 2017-08-22
  • 打赏
  • 举报
回复
然后你传进去也不要+1了,就0算第一个
ilikeff8 2017-08-22
  • 打赏
  • 举报
回复
既然你都命名后缀Index了,就代表是索引,按命名规范,最好是0开始,比较统一
白衣如花 2017-08-22
  • 打赏
  • 举报
回复
感觉下面的更清晰一点 要习惯从0开始数数。。。 第0个,第1个,第2个
正怒月神 2017-08-22
  • 打赏
  • 举报
回复
如果只是控制循环次数,那和i并没什么关系。
  • 打赏
  • 举报
回复
如果不是用于索引,哪个数字开始又不影响的……
xdashewan 2017-08-22
  • 打赏
  • 举报
回复
只要结果正确,怎么写都问题不大
gaoyang348 2017-08-21
  • 打赏
  • 举报
回复
for (int i=1;i<=10;i++) { sum+=GetBoxLocation(i); }

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧