微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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是一个字符串,您可以使用==运算符进行比较.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐