Find 메서드를 사용하여 람다 식을 사용하여 다른 값을 기반으로 값 목록에서 항목을 찾으려고합니다. 이 예제에서 나는 -1000을 되 찾을 것으로 기대하지만, 저의 삶에 대해서, 나는 적절한 lamda 표현을 생각 해낼 수 없습니다. 혼란 스럽다면 아래의 코드와 설명이 더 잘 설명되기를 바랍니다. TIA.C# 람다를 사용하여 범위에서 값 찾기
using System;
using System.Collections.Generic;
namespace TestingStuff {
class Program {
static void Main(string[] args) {
double amount = -200;
//The Range of values
List<MyValue> values = new List<MyValue>();
values.Add(new MyValue(-1000));
values.Add(new MyValue(-100));
values.Add(new MyValue(-10));
values.Add(new MyValue(0));
values.Add(new MyValue(100));
values.Add(new MyValue(1000));
//Find it!!!
MyValue fVal = values.Find(x => (x.Value > amount) && (x.Value < amount));
//Expecting -1000 as a result here since -200 falls between -1000 and -100
//if it were -90 I'd expect -100 since it falls between -100 and 0
if (fVal != null)
Console.WriteLine(fVal.Value);
Console.ReadKey();
}
}
public class MyValue {
public double Value { get; set; }
public MyValue(double value) {
Value = value;
}
}
}
음 예상되는 모든 결과를 지정함으로써 내 의도를 조금 더 명확하게하겠습니다.
-1000 및 -101으로 이하
-1000 -100에게 제공한다 - 11 -100 주어야
-10 주어야에 -1 -10
0-9 0
10~99 줘야 10
100-999은
1000 이상 (100) 당신은 논리적 실수 ... 값이 동시에> -200 및 < -200이 될 수 없습니다했던 1000
+200을 사용하는 경우 무엇을 기대합니까? – Darksider
-100을 사용하면 결과로 -1000 또는 -100을 기대합니까? –