双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教:如何使用变量作为LINQ的select new出来的字段名称?

tttmfc tttmfc 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
已知情况:
1、要处理的表有哪些列是未知的,所以不能把列名写死;
2、会将datatable的所有列放在combobox中,根据用户选择的列作出相应处理;
3、将处理好的结果放在新列,新列的列名是原选择修改的列名+“修改后”

所以不知如何实现以下效果:
例表一:
姓名 金额
张三 10
李四 15

例表二:
商品名 售价
风扇 60
冰箱 200

……还有很多完全不同的表作各种不同处理,比如对表一的金额统一加10,表二的售价统一乘0.8等等。

string 字段1=表二.columns[0].columnname;//或表一,或从界面取值,方法不定,总之是变量的意思
string 字段2=cbx目标列.SelectedItem.ToString();
string 字段3=字段2+"修改后";

var query = from p in dt.AsEnumerable()
select new
{
字段1 = p.Field<string>("商品名") + "abc", //"商品名"和"售价"不写成字段1、字段2是为了避免各位与左边的看混淆,
字段2 = p.Field<string>("售价"), //所以区分开写方便看清楚要表达的意思
字段3 = p.Field<string>("售价") * 0.8
};
//其它代码略

以上只是示例,与实际作用无关。总之目标就是在select new中使用变量作为字段名称,请教一下如何做到?
...全文
评论 2
收藏 已收藏
分享
返回顶部
tttmfc
LINQ 8,492 成员 4,736 内容