У меня есть этот словарь:Получение данных между значениями и больше, чем
Dictionary<char, ValuePair> dictionary = new Dictionary<char, ValuePair>();
С следующую структуру:
struct ValuePair
{
public double Value1;
public double Value2;
}
со следующими значениями:
dictionary.Add('A', new ValuePair { Value1 = 0.0, Value2 = 1.0 });
dictionary.Add('B', new ValuePair { Value1 = 1.0, Value2 = 1.2 });
dictionary.Add('C', new ValuePair { Value1 = 1.2, Value2 = 1.4 });
dictionary.Add('D', new ValuePair { Value1 = 1.4, Value2 = 1.6 });
dictionary.Add('E', new ValuePair { Value1 = 1.6, Value2 = 1.8 });
dictionary.Add('F', new ValuePair { Value1 = 1.8, Value2 = 2.0 });
dictionary.Add('G', new ValuePair { Value1 = 2.0, Value2 = double.MaxValue });
С запросом синтаксиса I 'Проверяем, находится ли значение между одним из значений, или если случай равен G, он должен быть больше 2.0. Мне не нравится решение с double.MaxValue. Есть ли другой путь?
var getValue = (from d in dictionary
where 2.1 >= d.Value.Value1 && 2.1 < d.Value.Value2
select d.Key).FirstOrDefault();
Console.WriteLine(getValue);
Благодаря
Что именно вам не нравится в 'решении double.MaxValue'? По-видимому, ясно, какое максимальное значение для выбора. –
Кажется странным в проекте экзаменов, где значения очень малы, чтобы использовать число, такое большое, как double.MaxValue – user2315973