c# – 运算符’==’不能应用于类型’int’和’string’的操作数

我有一点误会在这里为什么我有这里一个错误,我需要解析这个代码有什么问题吗?
UberTrackerEntities ctx = UberFactory.Context;
IEnumerable<HtUser> users = HtUser.GetAll();
string selectedBU = rcbBusinessUnits.SelectedValue;
string selectedDepartment = rcbDepartment.SelectedValue;

HtDepartment department = ctx.HtDepartments.SingleOrDefault(d => d.DepartmentId ==selectedDepartment);

if (department != null) 
{
    users = users.Where(u => u.HtDepartments.Contains(department));
}

感谢您的帮助和快速回复

PS:我的东西我刚刚结束了,它接缝只是一个愚蠢的小错误

解决方法

在LINQ查询中进行比较之前,需要将selectedDepartment转换为整数.
int selectedDepartment = Convert.ToInt32(rcbDepartment.SelectedValue);

在您的查询中:

ctx.HtDepartments.SingleOrDefault(d => d.DepartmentId == selectedDepartment);

d.DepartmentId的类型为int,而selectedDepartment是一个字符串,您可以使用==运算符进行比较.

相关文章

C#项目进行IIS部署过程中报错及其一般解决方案_c#iis执行语句...
微信扫码登录PC端网站应用的案例(C#)_c# 微信扫码登录
原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...