我有一个对象列表:
List<MyClass> list = new List<MyClass>();
这是我的查询
var q = from o in list
select new
{
column1 = o.X
};
这有效,但我想在运行时设置column1,如下所示:
string column1 = "myColumnName";
var q = from o in list
select new
{
column1 = o.X
};
我该怎么做?
答案 0 :(得分:1)
正如我从你的评论中理解的那样,你不需要在运行时为列添加别名,你需要这样的东西
string columnName = "myColumnName";
var q = from o in list
select new KeyValuePair<string,string>(columnName,o.X);
并将此绑定到像这样的组合框
comboBox.DisplayMember = "Key";
comboBox.ValueMember = "Value";
comboBox.DataSource = q;
comboBox.DataBind();