从矩阵linq动态选择查询

时间:2015-04-17 07:04:41

标签: c# linq

我需要检查Value是否与任何表头匹配,然后选择该列的第一个值。让我们说我已经选择了什么行,现在我需要查看哪个列标题与我的值匹配,然后选择该列和该行的值。

  A B C D E
1 X X X X X
2 X X X X X
3 X X X X X
4 X X X X X

我一直在使用LINQ,但还没有正常工作

所以为了简单起见,我已经得到了rowvalue,让我们说1,如果例如我的(Value = C)那么我想要选择那个值并写入字符串。有人可以帮帮我吗?提前谢谢。

我想替换这个......

 if (Type.Equals("A"))
                    Type = query.First().a;
                else if (Type.Equals("B"))
                    Type = query.First().b;
                else if (Type.Equals("C"))
                    Type = query.First().c;
                else if (Type.Equals("D"))
                    Type = query.First().d;

我想我必须使用Reflection来解决这个问题,但我不知道如何让这个工作......

1 个答案:

答案 0 :(得分:0)

    var item = query.First();
    string key = "A";

    var p = item.GetType().GetProperty(key.ToLower());
    var type = (Type)p.GetValue(item, null);