我正在操作一个 excel 文件(使用 Interop)。我正在尝试检查特定单元格的背景颜色。if (xlWorkSheet.Cells[1,j+1].Interior.Color == System.Drawing.Color.Red){ cell1.Interior.Color = System.Drawing.Color.Red;}'运算符'=='不能应用于'double'和'System.Drawing.Color'类型的操作数我什至不确定这个错误是否有意义,因为我有这个代码,我可以很好地使用它。所以如果我可以分配,为什么我不能比较?cellHeader.Interior.Color = System.Drawing.Color.Red;
2 回答
皈依舞
TA贡献1851条经验 获得超3个赞
详细说明大卫史密斯的回答:
if (xlWorkSheet.Cells[1,j+1].Interior.Color.Equals(System.Drawing.Color.Red))
{
cell1.Interior.Color = System.Drawing.Color.Red;
}
无法使用==运算符比较 c# 中的某些类型。它适用于几种类型,但除基本类型之外的任何类型通常都使用该.Equals()方法。它具有相同的目的,但适用于更多场景。
请参阅此处了解更多信息:
https://www.c-sharpcorner.com/UploadFile/3d39b4/difference-between-operator-and-equals-method-in-C-Sharp/
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
试试 System.Drawing.Color.Equals:
if (xlWorkSheet.Cells[1,j+1].Interior.Color.Equals(System.Drawing.Color.Red))
- 2 回答
- 0 关注
- 182 浏览
添加回答
举报
0/150
提交
取消