如果字符串为空,则跳过行

时间:2015-09-03 15:05:20

标签: c#

如果字符串为空,我想跳过一行。

我这样试试:

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)

如果为null,则不执行此行:

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

我这样试试:

return IsCheckPDfMailSubmit == null;

但后来我收到以下错误:

  

错误6由于'Seneca.SfsLib.Connectors.MailFormSubmitterModel.ReadPostedData()'返回void,因此返回关键字后面不能包含对象表达式

那么如何跳过它?

3 个答案:

答案 0 :(得分:4)

如果要根据if语句中的条件退出函数,当方法具有return;作为返回类型时,只使用void

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

或者,不是退出函数的midde,而是可以反转条件并将其余代码放在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); 
}

答案 1 :(得分:0)

您的方法是无效类型,因此您无法返回任何值。表达式return IsCheckPDfMailSubmit == null;尝试返回bool不正确,因此会出现编译错误。

您可以通过多种方式解决,一种方法是更改​​if条件以检查备用案例。

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"];
   }
}

答案 2 :(得分:-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"];
}