int GetSeriesValue(Series series, double argument)
{
for (int i = 0; i < series.Points.Count - 1; i++)
{
if (series.Points[i].NumericalArgument == argument)
return i;
else if (series.Points[i].NumericalArgument < argument && series.Points[i + 1].NumericalArgument > argument)
{
double interval1 = argument - series.Points[i].NumericalArgument;
double interval2 = series.Points[i + 1].NumericalArgument - argument;
return interval1 <= interval2 ? i : i + 1;
}
}
return 0;
}

把for循环改成foreach循环
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- threenewbee 2018-04-18 11:35关注
int GetSeriesValue(Series series, double argument) { foreach (var item in series.Points.Zip(series.Points.Skip(1), (x, y) => new { x, y })) { if (item.x.NumericalArgument == argument) return i; else if (item.x.NumericalArgument < argument && item.y.NumericalArgument > argument) { double interval1 = argument - item.x.NumericalArgument; double interval2 = item.y.NumericalArgument - argument; return interval1 <= interval2 ? i : i + 1; } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报