简单代码抛出预期;错误

问题描述:

我已经使用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

请阅读有关C#的运营商 - https://msdn.microsoft.com/en-us/library/6a71f45d.aspx

你应该使用 '==' 操作比较2个对象。

if (status == "RETIREE") 

if(status = "RETIREE")应该if(status == "RETIREE")

还要考虑检查空的状态。

+0

如果他使用'=='运算符,则不需要检查null。 –

+0

我试过这个,但仍然收到相同的错误。 – trx

+0

看到我的答案,它编译 –

明确equasion ==在c#用于测试变量的值,而equasion =用于赋值

这将编译:

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谢谢,回答更新了所有细节 –