比较颜色.

我正在操作一个 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;


海绵宝宝撒
浏览 164回答 2
2回答

皈依舞

详细说明大卫史密斯的回答: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/

蝴蝶不菲

试试 System.Drawing.Color.Equals:if (xlWorkSheet.Cells[1,j+1].Interior.Color.Equals(System.Drawing.Color.Red))
打开App,查看更多内容
随时随地看视频慕课网APP