2015-11-06 40 views
1

我有一個控制項目列表,以及其屬性的另一個列表。由於這些列表直接相互平行,我遍歷屬性列表以將它們應用於控件:並行列表屬性

有問題的兩個列表是List<TableCell> calTitleColList<DayOfWeek> dayList

  foreach (DayOfWeek day in dayList) 
      { 
       int index = dayList.IndexOf(day); 
       string dayStr = day.ToString(); 
       dayStr = dayStr.Substring(0, 3); 
       calTitleCol[index].Text == dayStr; 


       if (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday) 
       { 
        //more parameters here 
       } 
      } 

我會認爲這行:calTitleCol[index].Text == dayStr;是完全合乎邏輯的,但是出現在該行的錯誤讀取「只有分配,呼叫可以被用作聲明」。這是不是任務?從邏輯上講,這個行爲不應該完全合法嗎?

+1

你想在'calTitleCol [index] .Text == dayStr;'中做什麼?即使它是合法的,這隻會給你一個無用的布爾值。 –

回答

4

看來你想要做的是一項任務。

對於這一點,你應該改變calTitleCol[index].Text == dayStr;calTitleCol[index].Text = dayStr;

==運營商是平等的運營商。

=是賦值運算符。

1
foreach (DayOfWeek day in dayList) 
      { 
       int index = dayList.IndexOf(day); 
       string dayStr = day.ToString(); 
       dayStr = dayStr.Substring(0, 3); 
       calTitleCol[index].Text = dayStr; 
-----------------------------------------^ // Why double equals? 

       if (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday) 
       { 
        //more parameters here 
       } 
      } 

您正在做作業。 Double ==表示您在比較結果。 單人=作業。