错误返回关键字后面不能跟对象表达式

时间:2016-12-22 19:29:17

标签: c#

回归(比赛)令我头疼!当我将其更改为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);                        
                    }


                }

            }

2 个答案:

答案 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#中的函数,它是一个声明,因此不需要括号。