c# Trouver de la valeur dans une plage à l'aide lambda

J'essaie de trouver un élément dans une liste de valeurs basée sur une autre valeur à l'aide d'une expression lambda à l'aide de la méthode Find. Dans cet exemple, je m'attends à revenir -1000, mais pour la vie de moi, je ne peux pas venir avec le bon lamda expression. Si cela vous semble confus, je l'espère, le code et les commentaires en dessous de l'expliquer mieux.
TIA.

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;
        }        
    }
}

Mmm permettez-moi de mettre mes intentions un peu plus clair en précisant les résultats attendus.

-1000 et moins à -101 devrait donner -1000
-100 à - 11 devrait donner -100
-10 -1 devrait donner -10
De 0 à 9 doit donner 0
De 10 à 99 devrait donner 10
100-999 doit se donner à 100
1000 ou plus devrait donner 1000

Si vous utilisez +200, qu'attendez-vous?
Si vous utilisez -100, ne vous attendez -1000 ou -100 comme un résultat?

OriginalL'auteur n4rzul | 2010-05-21