Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我一直在努力完成以下任务:
假设我有一个包含名称和值的列表(例如Dictionary)。我需要为Web界面的用户提供一个字段,他可以在其中编写查询,以检查该列表上是否存在特定名称和值。
例如,我有以下列表:
用户想这样查询此列表(不要介意语法,它只是一个伪代码)
我一直在寻找动态
有谁知道有用的材料或链接?
谢谢
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我一直在努力完成以下任务:
假设我有一个包含名称和值的列表(例如Dictionary)。我需要为Web界面的用户提供一个字段,他可以在其中编写查询,以检查该列表上是否存在特定名称和值。
例如,我有以下列表:
A = 2, B = 4, D = 0
用户想这样查询此列表(不要介意语法,它只是一个伪代码)
A == 2 && D
=>这将返回true
,因为A
存在并且其值为2
并且D
也存在。(A && B) || C
=>这将返回true
,因为A
和B
都存在于列表中。A && !B
=>这将返回false
,因为A
存在于列表中,但B
也存在(但B
不应该)我一直在寻找动态
LINQ
,但似乎我一次只能评估一个对象(无法检查列表中是否存在对象,然后询问是否不存在)。有谁知道有用的材料或链接?
谢谢
最佳答案
不确定我是否理解您的要求...
这是您要的吗?
Dictionary<string, int> nameValuePairs = new Dictionary<string, int>();
nameValuePairs.Add("A", 2);
nameValuePairs.Add("B", 4);
nameValuePairs.Add("D", 0);
//A == 2 && D => this returns true, as A exists and it's value is 2 and D also exists
int d = 0;
if (nameValuePairs.ContainsKey("A") && nameValuePairs.TryGetValue("D", out d) && nameValuePairs.ContainsKey("D"))
{
Console.WriteLine("Test 1: True");
}
else
{
Console.WriteLine("Test 1: False");
}
//(A && B) OR C => this returns true, as both A and B exists on the list
if ((nameValuePairs.ContainsKey("A") && nameValuePairs.ContainsKey("B")) || nameValuePairs.ContainsKey("C"))
{
Console.WriteLine("Test 2: True");
}
else
{
Console.WriteLine("Test 2: False");
}
//A && !B => this returns false, as A exists on the list but B as well (but B shouldn't)
if (nameValuePairs.ContainsKey("A") && !nameValuePairs.ContainsKey("B"))
{
Console.WriteLine("Test 3: True");
}
else
{
Console.WriteLine("Test 3: False");
}
07-26 09:13