c#中的方法概念程序不工作
错误:'Methodcalling.Values(int,int)':并非所有代码路径都返回值c#中的方法概念程序不工作,c#,C#,错误:'Methodcalling.Values(int,int)':并非所有代码路径都返回值 这样,它在VISUAL STUDIO 2013中显示错误。您必须从该方法返回一个int值,因为该方法的签名定义了一个返回类型int,并且您还调用 using System; class Methodcalling { public int Values(int num1, int num2) { if (num1 > num2) {
这样,它在VISUAL STUDIO 2013中显示错误。您必须从该方法返回一个int值,因为该方法的签名定义了一个返回类型
int
,并且您还调用
using System;
class Methodcalling
{
public int Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
static void Main(string[] args)
{
int a, b;
Methodcalling m = new Methodcalling();
Console.WriteLine("enter a no.:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter a no.:");
b = Convert.ToInt32(Console.ReadLine());
int result = m.Values(a, b);
}
}
这表明该方法将返回一个整数,但您的方法中没有return语句
如果不希望返回任何整数,可以这样修改该方法
int result = m.Values(a, b);
您必须从该方法返回一个int值,因为该方法的签名定义了返回类型
int
,并且您也在调用
using System;
class Methodcalling
{
public int Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
static void Main(string[] args)
{
int a, b;
Methodcalling m = new Methodcalling();
Console.WriteLine("enter a no.:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter a no.:");
b = Convert.ToInt32(Console.ReadLine());
int result = m.Values(a, b);
}
}
这表明该方法将返回一个整数,但您的方法中没有return语句
如果不希望返回任何整数,可以这样修改该方法
int result = m.Values(a, b);
此错误是因为您已声明函数返回一个
int
,但函数不返回任何内容
请查看此链接以获取有关c#中函数声明的参考
要消除错误,请尝试添加返回0代码>到函数末尾
using System;
class Methodcalling {
public void Values(int num1, int num2) {
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
static void Main(string[] args) {
int a, b;
Methodcalling m = new Methodcalling();
Console.WriteLine("enter a no.:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter a no.:");
b = Convert.ToInt32(Console.ReadLine());
m.Values(a, b);
}
}
现在可以这样调用此函数来捕获返回值
public int Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
return 0; // Return zero to the calling function.
}
或者将int
更改为void,如public void Values(int num1,int num2)
中所示
用法如下:
int TheReturnValue = Values(num1 , num2); //You will get 0 as value for TheReturnValue variable.
您可以这样调用函数(void Return Type):
public void Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
由于您仅使用此函数向控制台写入数据,所以void datatype是更好的选择
我希望这有帮助。此错误是因为您已声明函数返回一个int
,但您的函数不返回任何内容
请查看此链接以获取有关c#中函数声明的参考
要消除错误,请尝试添加返回0代码>到函数末尾
using System;
class Methodcalling {
public void Values(int num1, int num2) {
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
static void Main(string[] args) {
int a, b;
Methodcalling m = new Methodcalling();
Console.WriteLine("enter a no.:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter a no.:");
b = Convert.ToInt32(Console.ReadLine());
m.Values(a, b);
}
}
现在可以这样调用此函数来捕获返回值
public int Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
return 0; // Return zero to the calling function.
}
或者将int
更改为void,如public void Values(int num1,int num2)
中所示
用法如下:
int TheReturnValue = Values(num1 , num2); //You will get 0 as value for TheReturnValue variable.
您可以这样调用函数(void Return Type):
public void Values(int num1, int num2)
{
if (num1 > num2)
{
Console.WriteLine("num2 is large ");
}
else
{
Console.WriteLine("num1 is big");
}
}
由于您仅使用此函数向控制台写入数据,所以void datatype是更好的选择
我希望这有帮助。我认为错误信息非常清楚。并非Methodcalling中的所有代码都会返回值。您已经说过,Values
返回一个int
。返回int的位置是什么?如果将函数声明为int,则应返回整数。请注意:为什么使用VS2013?而是使用VS2015或VS2017R,您可以检查正在控制台上打印的字符串:-)它们可能应该交换!我认为错误信息非常清楚。并非Methodcalling中的所有代码都会返回值。您已经说过,Values
返回一个int
。返回int的位置是什么?如果将函数声明为int,则应返回整数。请注意:为什么使用VS2013?而是使用VS2015或VS2017R,您可以检查正在控制台上打印的字符串:-)它们可能应该交换!