C#语言的在连续的数组怎么确定一个区间?

我有一个数组,double[]num=newdouble[]{1,2,3,4,5,6,7,8,9},现在有个数是5.5,要写一段代码找出来5.5前面的数是5,后面的是6,... 我有一个数组,double[] num=new double[]{1,2,3,4,5,6,7,8,9},现在有个数是5.5,要写一段代码找出来5.5前面的数是5,后面的是6,怎么写?因为我用的方法头用了out,要输出5和6,麻烦兼顾一下方法。
急急急,在线等。谢谢!
展开
 我来答
cc486255
2016-10-13 · 知道合伙人软件行家
cc486255
知道合伙人软件行家
采纳数:697 获赞数:1968
3年.NET开发经验

向TA提问 私信TA
展开全部
public static void aa(double[] arr,double number, out double min, out double max) 
{
       var list = arr.ToList(); //将数组转换成List<T>
       list.Sort(); //排序
       var l1=list.Where(i => i < number).ToList(); //获取所有比检索值小的值
       min = l1.Count == 0 ? 0 : l1.Max();
       var l2 = list.Where(i => i > number).ToList();//获取所有比检索值大的值
       max = l2.Count == 0 ? 0 : l2.Min();
}

就这个方法,传参数搞定

效果:

来自:求助得到的回答
chore000
2016-05-09 · 超过13用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:31万
展开全部
for循环与数组比较,如果<5继续,>5之后校验前面一个是不是<5,记下数组位置,然后输出不就完了?
追问
5.5是个假想数,其实是个变量。怎么校检?用if吗?加了条件以后out就出问题,不加条件返回的值又不是我想要的。
追答
for循环里用IF可以啊 你要保存的是数组的位置 例如 a[3] a[4]的 3 和 4 最后打印没问题啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式