2015-05-04 137 views
2

我已經使用if else子句創建了一個簡單的代碼,它會引發錯誤,如期望的「;」。但是當我檢查代碼時,一切似乎都是正確的。我是C#編程的新手。簡單代碼拋出預期;錯誤

public string empstatus(string trmdate, string status) 
{ 
    if(trmdate!= NULL) 
    { 
     if(status = "RETIREE") 
     { 
      return "RT"; 
     } 
     else retun "FT"; 
    } 
    else return "TF"; 
} 
+3

NULL在NULL中不是空字符在c#中。它應該是'null' –

+2

另外,在Visual Studio的任何版本中,雙擊編譯器錯誤會導致您產生錯誤的代碼行。 –

+0

@ZoharPeled我在BizTalk應用程序中使用C#。它沒有顯示有錯誤的行。 – trx

回答

7

if(status = "RETIREE")應該if(status == "RETIREE")

還要考慮檢查空的狀態。

+0

如果他使用'=='運算符,則不需要檢查null。 –

+0

我試過這個,但仍然收到相同的錯誤。 – trx

+0

看到我的答案,它編譯 –

1

明確equasion ==在c#用於測試變量的值,而equasion =用於賦值

9

這將編譯:

public string empstatus(string trmdate, string status) 
{ 
    if(trmdate!= null) 
    { 
     if(status == "RETIREE") 
     { 
      return "RT"; 
     } 
     else return "FT"; 
    } 
    else 
     return "TF"; 
} 

錯誤:

  1. retun而不是return
  2. if(status = "RETIREE")而不是if(status == "RETIREE")
  3. NULL而不是空
+0

解決所有3個問題的唯一答案。但你應該提到他們是什麼。 – juharr

+2

其實,整個函數可以是一個單行:'return(trmdate!= null)? (狀態==「RETIREE」)? 「RT」:「FT」:「TF」;' –

+0

@juharr謝謝,回答更新了所有細節 –