回归(比赛)令我头疼!当我将其更改为Console.WriteLine(匹配)时,它给出了我期望的返回但是当我尝试使用return(匹配)时它给了我一个错误。我只是不知道在这里要改变什么,所以任何建议都会受到赞赏!
问候,詹姆斯
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace ReadTextFile
{
class Program
{
static void Main(string[] args)
{
List<string> fileLines = new List<string>();
using (var reader = new StreamReader("test.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
fileLines.Add(line);
string pattern = @"(\w+)@(\w+).([a-z]+)";
Match match = Regex.Match((line), pattern);
if (match.Success)
{
return(match);
}
}
}
答案 0 :(得分:2)
Main
如果您想要返回其他内容,则会返回void
更改签名。请注意,Main
的返回值通常称为错误代码,其中非零被视为错误。
如果您创建另一个函数并将逻辑放入其中,则可以使用return。
另一方面,如果您要做的只是离开while
,则需要在Match match;
后string line;
使用break;
而不是return
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Sample;Integrated Security=true;");
SqlCommand cmd;
SqlDataAdapter adapt;
SqlTransaction trans;
private void btn_Update_Click(object sender, EventArgs e)
{
try
{
con.Open();
trans = con.BeginTransaction(); // Begins transaction
string query = "insert into users(Name,Password)values('ubaid','ali')";
cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();
MessageBox.Show("Record Updated Successfully");
con.Close();
trans.Commit();
}
catch (Exception ex) //error occurred
{
trans.Rollback(); // Rollback transaction on error
}
}
。
答案 1 :(得分:1)
您使用void
方法(void Main
)。 void
方法没有返回值,因此只允许return;
本身。
BTW,return
不是C#中的函数,它是一个声明,因此不需要括号。