并非所有代码路径都返回值-C#

并非所有代码路径都返回值-C#,c#,C#,我一直在学习本教程: 我发现并非所有代码路径都在“GetEmployees()”方法上返回值。如您所见,我还删除了所有额外的命名约定标记。我相信我使用的是更高版本的.Net,visual studio告诉我它们导致了错误 例如: "public List<Employee><employee> GetEmployees()" to: "public List<Employee> GetEmployees()" public class Employee

我一直在学习本教程:

我发现并非所有代码路径都在“GetEmployees()”方法上返回值。如您所见,我还删除了所有额外的命名约定标记。我相信我使用的是更高版本的.Net,visual studio告诉我它们导致了错误

例如:

"public List<Employee><employee> GetEmployees()" to:  
"public List<Employee> GetEmployees()"

public class EmployeeBusinessLayer
{
    public List<Employee> GetEmployees()
    {
        List<Employee> employees = new List<Employee>();
        Employee emp = new Employee();
        emp.FirstName = "johnson";
        emp.LastName = " fernandes";
        emp.Salary = 14000;
        employees.Add(emp);

    }
}
“public List GetEmployees()”到:
“公共列表GetEmployees()”
公共类EmployeeBusinessLayer
{
公开名单
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
}
}

请帮忙,我真的想了解C#MVC语言和OOP,而PHP过程风格是我的背景

您的方法返回类型是
List
。它希望您返回一个
列表
对象。但是您没有从类型为
List
的方法返回任何内容

以下内容将解决您的问题

public List<Employee> GetEmployees()
    {
        List<Employee> employees = new List<Employee>();
        Employee emp = new Employee();
        emp.FirstName = "johnson";
        emp.LastName = " fernandes";
        emp.Salary = 14000;
        employees.Add(emp);

        return employees;
    }
public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

您的方法返回类型是
List
。它希望您返回一个
列表
对象。但是您没有从类型为
List
的方法返回任何内容

以下内容将解决您的问题

public List<Employee> GetEmployees()
    {
        List<Employee> employees = new List<Employee>();
        Employee emp = new Employee();
        emp.FirstName = "johnson";
        emp.LastName = " fernandes";
        emp.Salary = 14000;
        employees.Add(emp);

        return employees;
    }
public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

正如错误所述,您需要返回
employees
类型
列表

public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

正如错误所述,您需要返回
employees
类型
列表

public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

“代码路径”,消息解释

该消息意味着您的函数可能不会返回任何内容。”“代码路径”是关于代码可能遵循的路径。例如,如果您有一个
if
语句,根据条件,其中的代码将被执行或不执行,因此您有两个代码路径

在您的例子中,没有任何条件语句,因此只有一个代码路径。整个函数将自始至终运行

因此,这个信息只是有点模糊。您有一个不返回值的代码路径

解决方案

解决办法:归还一些东西。假设返回类型为
List
,您可能打算返回员工列表,因此函数应以一行额外的内容结束:

return employees;

如果您只习惯于PHP中的函数,那么您以前可能还见过这种情况。函数返回值的概念在大多数(如果不是全部的话)过程语言中都是已知的(不要与函数语言混淆,这是不同的!)。

消息解释了“代码路径”

该消息意味着您的函数可能不会返回任何内容。”“代码路径”是关于代码可能遵循的路径。例如,如果您有一个
if
语句,根据条件,其中的代码将被执行或不执行,因此您有两个代码路径

在您的例子中,没有任何条件语句,因此只有一个代码路径。整个函数将自始至终运行

因此,这个信息只是有点模糊。您有一个不返回值的代码路径

解决方案

解决办法:归还一些东西。假设返回类型为
List
,您可能打算返回员工列表,因此函数应以一行额外的内容结束:

return employees;

如果您只习惯于PHP中的函数,那么您以前可能还见过这种情况。函数返回值的概念在大多数(如果不是全部的话)过程语言中都是已知的(不要与函数语言混淆,这是不同的!)。

您需要返回值。请看下面的代码

public List<Employee> GetEmployees()
{
    List<Employee> employees = new List<Employee>();
    Employee emp = new Employee();
    emp.FirstName = "johnson";
    emp.LastName = " fernandes";
    emp.Salary = 14000;
    employees.Add(emp);

    return employees;
}
public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

您需要返回一个值。请看下面的代码

public List<Employee> GetEmployees()
{
    List<Employee> employees = new List<Employee>();
    Employee emp = new Employee();
    emp.FirstName = "johnson";
    emp.LastName = " fernandes";
    emp.Salary = 14000;
    employees.Add(emp);

    return employees;
}
public List GetEmployees()
{
列出员工=新列表();
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
添加(emp);
返回员工;
}

如前所述,方法中需要有一个return语句。但是,有一种更简洁的方法是使用

public IEnumerable GetEmployees()
{
员工emp=新员工();
emp.FirstName=“约翰逊”;
emp.LastName=“费尔南德斯”;
管理人员薪金=14000;
收益率;
}

如前所述,方法中需要有一个return语句。但是,有一种更简洁的方法是使用

public IEnumerable GetEmployees()
{
E