【问题标题】:Cannot implicitly convert type 'string' to 'integer' [closed]无法将类型“字符串”隐式转换为“整数”[关闭]
【发布时间】:2016-09-21 07:18:26
【问题描述】:

这是我的代码:

public ActionResult Index()
{
    var EmployeerId = SessionPersister.Email_ID;
    //Convert.ToInt32(EmployeerId);
    int.Parse(EmployeerId);
    db.Job_Det.OrderByDescending(j => j.Job_ID).ToList().Where(x => x.Employeer_ID = EmployeerId);
    return View();
}

我尝试了许多转换方法..但我未能将上述字符串转换为整数。

【问题讨论】:

  • 为什么你知道它失败了?
  • 如果EmployeerIdstring,那么需要先转换成int
  • x => x.Employeer_ID = EmployeerId 只有一个等号?此外,您的 int.parse 结果没有要存储的变量。
  • 是的,var Employeerid 是字符串,需要将其转换为 int... 因为我尝试了许多转换方法但没有效果。
  • @JaffarHayat:它不会改变变量的类型,不——它不能。相反,这些方法返回一个新值。

标签: c# asp.net-mvc type-conversion


【解决方案1】:

您没有存储int.Parse(EmployeerId); 的结果,它不会将employerid 更改为int .. 您需要将其保留为int 变量,例如

eid = int.Parse(EmployeerId);

然后将 x => x.Employeer_ID = EmployeerId 替换为 x => x.Employeer_ID == eid,除非您确实打算将所有 employeer_ID 替换为新值。

【讨论】:

    【解决方案2】:

    仅调用 Convert.ToInt32(EmployeerId)int.Parse(EmployeerId) 不会更改 EmployeerId 的类型 - 这两种方法都会返回一个您需要存储在新变量中的值。 p>

    您现在没有对您的查询结果做任何事情 - 通过在Where 调用之前调用ToList(),您正在获取所有数据然后在本地过滤,这是个坏主意。

    最后,在您的查询中,您尝试分配一个值而不是比较它;你想要== 运算符而不是=

    我怀疑你想要类似的东西:

    public ActionResult Index()
    {
        string employerIdText = SessionPersister.Email_ID;
        int employerId = int.Parse(employerIdText);
        var jobs = db.Job_Det
            .OrderByDescending(j => j.Job_ID)
            .Where(x => x.Employeer_ID == employerId)
            .ToList();
        return View(jobs);
    }
    

    【讨论】:

    • 非常感谢...现在可以使用了,太好了 :)
    【解决方案3】:

    int.Parse(EmployeerId); 不会更改 EmployeerId。您需要为 int 值使用另一个变量。

    var iEmployeerId = int.Parse(EmployeerId);
    

    【讨论】:

      【解决方案4】:
       public ActionResult Index()
      {
          var EmployeerId = SessionPersister.Email_ID;
          //Convert.ToInt32(EmployeerId);
         int EmpId=int.Parse(EmployeerId);
          db.Job_Det.OrderByDescending(j => j.Job_ID).ToList().Where(x => x.Employeer_ID = EmpId);
          return View();
      }
      

      【讨论】:

        猜你喜欢
        • 2015-06-18
        • 2022-01-24
        • 1970-01-01
        • 2021-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-09
        • 2014-05-15
        相关资源
        最近更新 更多