2015-09-03 43 views
1

如果字符串爲空,我想跳過一行。如果字符串爲空,則跳過行

我嘗試這樣的:

public void ReadPostedData() 
{ 
    Sender = HttpContext.Current.Request.Form["MailFormSubmitter_sender"]; 
    Subject = HttpContext.Current.Request.Form["MailFormSubmitter_subject"];   
    Message = HttpContext.Current.Request.Form["Message"]; 
    PdfMessage = HttpContext.Current.Request.Form["PdfMessage"]; 

    string IsCheckPDfMailSubmit = HttpContext.Current.Request.Form["IsCheckedPDFMailForm"]; 
    if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0) 

     //string.IsNullOrEmpty(IsCheckPDfMailSubmit); 

    return IsCheckPDfMailSubmit == null; 

    IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase); 

    string v = HttpContext.Current.Request.Form["MailFormSubmitter_includeoverviewpdf"]; 
    IncludeOverviewPdf = v.Equals("true,false", StringComparison.Ordinal) ? true : false; 
    // http://forums.asp.net/t/1314753.aspx 

    ApplicantMailNodeSelectors[0] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress1"]; 
    ApplicantMailNodeSelectors[1] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress2"]; 
    ApplicantMailNodeSelectors[2] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress3"]; 
} 

它是關於這一行:

if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0) 

如果是空,不執行該行:

IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase); 

我試試吧像這樣:

return IsCheckPDfMailSubmit == null; 

但後來我得到以下錯誤:

Error 6 Since 'Seneca.SfsLib.Connectors.MailFormSubmitterModel.ReadPostedData()' returns void, a return keyword must not be followed by an object expression

那麼怎麼跳過?

+0

'不執行這條線' - 那條線*只* *?或者你的意思是完全從方法中返回? –

+1

你的函數有一個void返回類型,因此它不指望你返回任何東西。如果您想在檢查之後跳過代碼,請將整個塊包裝在條件中,並且只有在滿足條件時才執行。 – mjw

+1

你有沒有試過這個:string.IsNullOrEmpty(IsCheckPDfMailSubmit) – Arash

回答

4

如果你想這取決於在if語句中的條件從功能退出,你只使用return;時,該方法具有void的返回類型:

if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0) { 
    return; 
} 

或者,而不是退出在函數的中間,可以反轉條件並將其餘代碼放在if聲明中:

if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) { 
    // ... 
    // rest of the code in the method 
    // ... 
} 

如果你只是想跳過以下線路,但該方法的代碼的其餘部分恢復,反轉的條件,並把該行的if聲明:

if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) { 
    IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase); 
} 
+0

謝謝!正在完成這項工作 – InfinityGoesAround

-1
public void ReadPostedData() 
{ 
    Sender = HttpContext.Current.Request.Form["MailFormSubmitter_sender"]; 
    Subject = HttpContext.Current.Request.Form["MailFormSubmitter_subject"];   
    Message = HttpContext.Current.Request.Form["Message"]; 
    PdfMessage = HttpContext.Current.Request.Form["PdfMessage"]; 

    string IsCheckPDfMailSubmit = HttpContext.Current.Request.Form["IsCheckedPDFMailForm"]; 
    if (IsCheckPDfMailSubmit != null) { 
     if(IsCheckPDfMailSubmit.Length > 0){ 
      IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase); 
     } 
    } 





    string v = HttpContext.Current.Request.Form["MailFormSubmitter_includeoverviewpdf"]; 
    IncludeOverviewPdf = v.Equals("true,false", StringComparison.Ordinal) ? true : false; 
// http://forums.asp.net/t/1314753.aspx 

    ApplicantMailNodeSelectors[0] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress1"]; 
    ApplicantMailNodeSelectors[1] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress2"]; 
    ApplicantMailNodeSelectors[2] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress3"]; 
} 
+0

不知道這是怎麼回事投票考慮我確切地回答你問。 – mac

0

你的方法是無效的類型,這樣你不能返回任何值。表達式return IsCheckPDfMailSubmit == null;嘗試返回一個bool是不正確的,因爲你會得到一個編譯器錯誤。

你可以通過幾種方式解決它,一種方法可能是改變你的條件來檢查備用的情況。

public void ReadPostedData() 
{ 
    Sender = HttpContext.Current.Request.Form["MailFormSubmitter_sender"]; 
    Subject = HttpContext.Current.Request.Form["MailFormSubmitter_subject"];   
    Message = HttpContext.Current.Request.Form["Message"]; 
    PdfMessage = HttpContext.Current.Request.Form["PdfMessage"]; 

    string IsCheckPDfMailSubmit = HttpContext.Current.Request.Form["IsCheckedPDFMailForm"]; 
    if (IsCheckPDfMailSubmit != null && IsCheckPDfMailSubmit.Length > 0) 
    // A better option is to use string.IsNullOrEmpty: 
    // if (!string.IsNullOrEmpty(IsCheckPDfMailSubmit)) 
    { 

    IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase); 





    string v = HttpContext.Current.Request.Form["MailFormSubmitter_includeoverviewpdf"]; 
    IncludeOverviewPdf = v.Equals("true,false", StringComparison.Ordinal) ? true : false; 
    // http://forums.asp.net/t/1314753.aspx 

    ApplicantMailNodeSelectors[0] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress1"]; 
    ApplicantMailNodeSelectors[1] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress2"]; 
    ApplicantMailNodeSelectors[2] = HttpContext.Current.Request.Form["MailFormSubmitter_applicantemailaddress3"]; 
    } 
} 
相關問題