Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我是否可以检查字典中的成对值之间是否存在双精度值<;双倍,双倍>;_C# - Fatal编程技术网

C# 我是否可以检查字典中的成对值之间是否存在双精度值<;双倍,双倍>;

C# 我是否可以检查字典中的成对值之间是否存在双精度值<;双倍,双倍>;,c#,C#,我有以下资料:- double v = 1.1; Dictionary<double,double> cleanedTimes = new Dictionary<double,double>(); //code for building the cleanedTimes goes here.. double v=1.1; 字典清理时间=新建字典(); //建立清洁时间的代码在这里。。 那么如何检查v是否在cleanedTimes项中的任何对值之间呢 谢谢您可以在任何条

我有以下资料:-

double v = 1.1;
Dictionary<double,double> cleanedTimes = new Dictionary<double,double>();
//code for building the cleanedTimes goes here..
double v=1.1;
字典清理时间=新建字典();
//建立清洁时间的代码在这里。。
那么如何检查
v
是否在
cleanedTimes
项中的任何对值之间呢

谢谢

您可以在任何条件下使用
Any()
。您的条件很简单,“大于键,但小于值或相反”。因此表达式/代码可以如下所示:

IDictionary<double, double> values = new Dictionary<double, double>();
values.Add(1.1, 2.2);
values.Add(3.3, 4.4);
values.Add(5.5, 5.0);

double check = 1.5;

bool found = values.Any(it => (it.Key <= check && check <= it.Value) ||
                              (it.Value <= check && check <= it.Key));
Console.WriteLine(found);
IDictionary values=new Dictionary();
增加(1.1、2.2);
增加(3.3、4.4);
增加(5.5,5.0);
双重检查=1.5;

bool found=values.Any(it=>(it.Key@Steve)我的意思是说doubledefine“pair values”请。请提供一个如何初始化词典的示例,以及一个正结果示例和一个负结果示例。这是否回答了您的问题?似乎您使用词典只是因为它返回给您一个KeyValuePair。似乎您不会将密钥用于任何事,您应该真正考虑为了使用更好的数据结构,例如IEnumerable或其他一些抽象元素,它应该是
Any(it=>check>=it.Key&&check@TimSchmelter这就是我写的?还是我遗漏了什么?@TimSchmelter你能检查一下,我遗漏了什么吗?我不明白你说的。你的第一个条件是正确的,我第一次搞错了。但是为什么你需要第二个呢?@TimSchmelter OP没有提到
键总是比
value
任意一个。这些条件确保两个“方向”都被选中。