首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将可枚举行集合<short>转换为short

将可枚举行集合<short>转换为short
EN

Stack Overflow用户
提问于 2013-03-07 04:45:28
回答 1查看 200关注 0票数 0

在下面这行代码中,我发现这个错误不能隐式地将可枚举行集合<short>转换为short:

代码语言:javascript
复制
Month = (from item in query select (short)item.Month);

我想知道为什么我在查询变量中找不到distinct()或count方法。

下面是我的方法:

代码语言:javascript
复制
 public bool IsEnableAccPosting(
      string CompanyCode, DateTime FromDate, DateTime ToDate, out short Month)
 {
     try
     {
         o_dmDebitAccounts = new dmDebitAccounts(sysInfo);

         bool IsEnable = false;

         DataTable dt = o_dmDebitAccounts.GetDebitInterestAccPeriods(CompanyCode);

         var query = from data in dt.AsEnumerable()
                     where data.Field<DateTime>("StartDate") == FromDate && 
                           data.Field<DateTime>("EndDate") == ToDate
                     select new 
                     {
                         Month = Convert.ToInt16(data.Field<short>("Month")),
                         Year = Convert.ToInt16(data.Field<short>("Year"))
                     };

         Month = (from item in query select (short)item.Month); //heres the error
EN

回答 1

Stack Overflow用户

发布于 2013-03-07 04:47:50

在执行该操作的linq查询中,该字段已键入为Int16。你不需要对它进行造型。

尝试下面的代码taken from here

代码语言:javascript
复制
if (query.Any())
{
    var result = query.First();

    // Console.WriteLine("Results: {0}", result.Month);
    Month = result.Month;

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

https://stackoverflow.com/questions/15257639

复制
相关文章

相似问题

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