2015-09-03 46 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"]; 
    } 
} 
相关问题