C# 如果字符串为空,则跳过行
如果字符串为空,我想跳过一行 我试着这样做:C# 如果字符串为空,则跳过行,c#,C#,如果字符串为空,我想跳过一行 我试着这样做: public void ReadPostedData() { Sender = HttpContext.Current.Request.Form["MailFormSubmitter_sender"]; Subject = HttpContext.Current.Request.Form["MailFormSubmitter_subject"]; Message = HttpContext.Current.Re
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"];
}
return IsCheckPDfMailSubmit == null;
关于这一行:
if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)
IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase);
如果为空,则不执行此行:
if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)
IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase);
我试着这样做:
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"];
}
return IsCheckPDfMailSubmit == null;
但是我得到了以下错误:
错误6由于“Seneca.SfsLib.Connectors.MailFormSubmiterModel.ReadPostedData()”返回void,因此return关键字后面不能跟有对象表达式
那么如何跳过它呢?如果您想根据
If
语句中的条件退出函数,只需使用return
当方法将void
作为返回类型时:
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"];
}
if (IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0) {
return;
}
或者,不必在函数中间退出,您可以反转条件并将剩余代码放入if
语句中:
if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) {
// ...
// rest of the code in the method
// ...
}
if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) {
IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase);
}
如果只想跳过下一行,但继续使用方法中的其余代码,请反转条件并将该行放入If
语句中:
if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) {
// ...
// rest of the code in the method
// ...
}
if (!(IsCheckPDfMailSubmit == null || IsCheckPDfMailSubmit.Length == 0)) {
IsCheckedPDFMailForm = IsCheckPDfMailSubmit.Equals("True", StringComparison.OrdinalIgnoreCase);
}
您的方法是void类型,因此无法返回任何值。表达式
返回IsCheckPDfMailSubmit==null代码>尝试返回布尔值是不正确的,因此会出现编译器错误
你可以用两种方法来修复它,一种方法是改变你的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"];
}
}
不要执行这一行
-只执行那一行?或者您的意思是完全从方法返回?您的函数有一个void返回类型,因此它不希望您返回任何内容。如果要跳过检查后的代码,请将整个块包装在条件中,并仅在满足条件的情况下执行。是否尝试过以下操作:string.IsNullOrEmpty(IsCheckPDfMailSubmit)谢谢!!我不知道这是怎么回事,因为我的回答完全符合你的要求。