我正在操作一個 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 關注
- 217 瀏覽
添加回答
舉報
0/150
提交
取消