C# 如何从数组中查找特定的数字?
我这里有一些代码,用于从数组中只查找左前一个小数字C# 如何从数组中查找特定的数字?,c#,linq,C#,Linq,我这里有一些代码,用于从数组中只查找左前一个小数字 public void Test() { int[] numbers = { 121, 124, 131, 135, 219, 287, 361, 367, 382, 420 }; var onlyfirstNumbersLessThanGiven = numbers.TakeWhile(n => n < 135); Console.WriteLine("First numbers less than ");
public void Test() {
int[] numbers = { 121, 124, 131, 135, 219, 287, 361, 367, 382, 420 };
var onlyfirstNumbersLessThanGiven = numbers.TakeWhile(n => n < 135);
Console.WriteLine("First numbers less than ");
foreach (var n in onlyfirstNumbersLessThanGiven)
{
Console.WriteLine(n);
}
}
如何从上面的数组中仅查找131?请帮帮我这个怎么样
有序数组:
numbers.LastOrDefault(x => x < 135);
numbers.Where(x => x < 135).Max();
无序数组:
numbers.LastOrDefault(x => x < 135);
numbers.Where(x => x < 135).Max();
这个怎么样
有序数组:
numbers.LastOrDefault(x => x < 135);
numbers.Where(x => x < 135).Max();
无序数组:
numbers.LastOrDefault(x => x < 135);
numbers.Where(x => x < 135).Max();
找到数字本身,因为你知道你想要的数字,你不需要任何范围
numbers.Where(x => x == 131);
找到数字本身,因为你知道你想要的数字,你不需要任何范围
numbers.Where(x => x == 131);
尽管雷南的答案完全正确,为什么不直接使用First、edited或TakeWhile和Last呢 e、 g 为了与您的情况相匹配:
public void Test() {
int[] numbers = { 121, 124, 131, 135, 219, 287, 361, 367, 382, 420 };
var onlyfirstNumbersLessThanGiven = numbers.TakeWhile(n => n < 135).Last();
Console.WriteLine("First numbers less than ");
Console.WriteLine(onlyfirstNumbersLessThanGiven);
}
有一些限制:假定数组是排序的,并且必须按升序排列
感谢伊万·斯托夫指出了我的错误尽管雷南的答案完全正确,为什么不使用“第一个”、“编辑”或“最后一个”呢 e、 g 为了与您的情况相匹配:
public void Test() {
int[] numbers = { 121, 124, 131, 135, 219, 287, 361, 367, 382, 420 };
var onlyfirstNumbersLessThanGiven = numbers.TakeWhile(n => n < 135).Last();
Console.WriteLine("First numbers less than ");
Console.WriteLine(onlyfirstNumbersLessThanGiven);
}
有一些限制:假定数组是排序的,并且必须按升序排列
感谢伊万·斯托夫指出我的错误这个例子有助于澄清我的错误
公共空隙试验
{
int[]数字={121、324、431、135、119、287、361、367、382、420}
LTG的var=数字,其中x=>x<121.Max;
Console.WriteLineFirst最大编号:
{
Console.WriteLineOFNLTG
}
}
这个例子有助于澄清问题
公共空隙试验
{
int[]数字={121、324、431、135、119、287、361、367、382、420}
LTG的var=数字,其中x=>x<121.Max;
Console.WriteLineFirst最大编号:
{
Console.WriteLineOFNLTG
}
}
在您的示例中,Firstn=>n<135将返回121,而OP期望131个好捕获,我现在正在修改答案。在您的示例中,Firstn=>n<135将返回121,而OP期望131个好捕获,我现在正在修改答案。为什么这是可接受的答案?这正是我提出的解决方案为什么这是公认的答案?这正是我提出的解决方案