首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理来自linq的结果

如何处理来自linq的结果
EN

Stack Overflow用户
提问于 2011-11-14 11:02:01
回答 1查看 191关注 0票数 0

我有一个年份的下拉列表,问题是我想检查列表中的最新年份并添加1。因此,如果列表中的最新年份是2011年,我将手动添加1,以显示2012年……这是我的代码供您参考。

代码语言:javascript
复制
var b = (from a in sampleworker.getyear()
                 orderby a.Year
                 select new
                 {
                     a.Year
                 }
                 ).Distinct();

        b += int.Parse( (b.First()).ToString() ) + 1;
        drp_year.DataSource = b;
        drp_year.DataBind();

提前感谢各位!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-14 11:30:59

我假设您在Distinct行上得到了一个错误,因为b+= ()函数将返回一个IEnumerable对象。请注意,您正在尝试将一个整数赋给该行上的b,而在调用b.First()的同一行中,这显然是您不能使用整数完成的操作。

看起来你真正想要的是

代码语言:javascript
复制
    b.Add(b.First() + 1);

然而,这也不会起作用。你需要做的是:

代码语言:javascript
复制
    var yearList = b.ToList();
    yearList.Add(b.First() + 1);

然后,您可以将您的DataSource设置为该值。另外,Year是什么数据类型?它显然不是一个字符串,因为您必须对它使用ToString()方法。我认为它不是一个整数,因为你在它上面使用了int.Parse()。这让我相信它可能是一个日期,如果是这样,为什么不使用DateTime对象上已经存在的方法来操作DateTime,而不是在类型之间进行转换呢?

编辑:我调整了上面的代码块,因为我发现Year实际上是一个int。此外,他的原始代码中的"select new { a.Year }“应该只是"select a.Year”。有关更多信息,请参阅下面的评论...

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8116838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档