我现在有一个数组/列表[" a"," b"," c"," d",&#34 ; e"," f"],现在我有一个数据表dt:
c1 c2
c 10
e 20
我想将dt与数组进行比较并返回结果,如
a 0/null
b 0 /null
c 10
d 0/null
e 20
f 0/null
我不知道如何从映射或任何程序开始,我尝试了一个循环,但我得到了6*2 = 12
个项目
有人可以给出一些如何做到这一点的指导方针吗?
我试图声明一个布尔数组,如果我可以在dt中找到A中的元素,那么在布尔数组中添加一个true,否则添加false。但是我在布尔数组中有12个元素而不是6并且位置都是错误的
if (dt.Rows.Count > 0)
{
for (int x = 0; x < A.Length; x++)
{
for (int t = 0; t < dt.Rows.Count; t++)
{
string type = dt.Rows[t]["Sponsorship_Type"].ToString();
if (A[x] == type)
{
checks.Add(true);
}
else
{
checks.Add(false);
}
}
}
}
答案 0 :(得分:0)
如果您希望输出完全如您在问题中显示的那样;
Dictionary<string, string> comparison = new Dictionary<string, string>();
foreach (string item in list)
{
DataRow[] found = dt.Select(string.Format("C1 = '{0}'", item));
if (found == null || found.Count().Equals(0))
comparison.Add(item, "0/null");
else
comparison.Add(item, found[0]["C2"].ToString());
}
list
是包含["a","b","c","d","e","f"]
的列表,输出位于comparison
字典中。