C# 如何将函数从另一个类调用到主类
我创建了另一个类(计算),并在其中创建了一个函数,用于检查数字是偶数还是奇数。我想在我的程序类中调用这个函数,这样它就可以检查变量(结果)是偶数还是奇数 我尝试调用如下方法:CheckEvenOrOdd(result)C# 如何将函数从另一个类调用到主类,c#,function,class,C#,Function,Class,我创建了另一个类(计算),并在其中创建了一个函数,用于检查数字是偶数还是奇数。我想在我的程序类中调用这个函数,这样它就可以检查变量(结果)是偶数还是奇数 我尝试调用如下方法:CheckEvenOrOdd(result) 因为您的方法位于不同的类中,所以必须将其设置为静态,然后首先按类名然后按方法名调用它。如果它不是静态的,那么在能够访问该类的任何方法之前,您必须实例化该类的新实例 (顺便说一句,你是用数字2乘以数字2,在下面提供的代码中也为你更改了它呵呵) 静态: class Program {
因为您的方法位于不同的类中,所以必须将其设置为静态,然后首先按类名然后按方法名调用它。如果它不是静态的,那么在能够访问该类的任何方法之前,您必须实例化该类的新实例 (顺便说一句,你是用数字2乘以数字2,在下面提供的代码中也为你更改了它呵呵) 静态:
class Program
{
static void Main(string[] args)
{
int number1;
int number2;
int result;
Console.Write("Enter a number: ");
number1 = int.Parse(Console.ReadLine());
Console.Write("Enter a second number: ");
number2 = int.Parse(Console.ReadLine());
result = number1 * number2;
Console.WriteLine($"The total is: {result} ");
Console.WriteLine("AND");
Calculations.CheckEvenOrOdd(result);
Console.ReadLine();
}
}
public static class Calculations
{
public static void CheckEvenOrOdd(int numb)
{
if (numb % 2 == 0)
{
Console.WriteLine("The number is even");
}
else
{
Console.WriteLine("The number is odd ");
}
}
}
非静态:
class Program
{
static void Main(string[] args)
{
int number1;
int number2;
int result;
Console.Write("Enter a number: ");
number1 = int.Parse(Console.ReadLine());
Console.Write("Enter a second number: ");
number2 = int.Parse(Console.ReadLine());
result = number1 * number2;
Console.WriteLine($"The total is: {result} ");
Console.WriteLine("AND");
Calculations calc = new Calculations();
calc.CheckEvenOrOdd(result);
Console.ReadLine();
}
}
public class Calculations
{
public void CheckEvenOrOdd(int numb)
{
if (numb % 2 == 0)
{
Console.WriteLine("The number is even");
}
else
{
Console.WriteLine("The number is odd ");
}
}
}
哦,孩子。我们从哪里开始。您不能仅仅通过调用另一个类的方法的名称来访问它。但是,由于它是静态的,所以使用
计算。CheckEvenOrOdd(someNumber)
应该可以工作tho@AviMeltser在C#的最新版本中,通过适当的使用
语句,您可以(如果是静态的
)。@AviMeltser谢谢。如果不是静态的,我怎么做?@AntonioBuzbuchi没问题。如果不是静态的,您需要创建一个类的实例,您试图调用该类的方法。推荐阅读有关面向对象编程的书籍
class Program
{
static void Main(string[] args)
{
int number1;
int number2;
int result;
Console.Write("Enter a number: ");
number1 = int.Parse(Console.ReadLine());
Console.Write("Enter a second number: ");
number2 = int.Parse(Console.ReadLine());
result = number1 * number2;
Console.WriteLine($"The total is: {result} ");
Console.WriteLine("AND");
Calculations calc = new Calculations();
calc.CheckEvenOrOdd(result);
Console.ReadLine();
}
}
public class Calculations
{
public void CheckEvenOrOdd(int numb)
{
if (numb % 2 == 0)
{
Console.WriteLine("The number is even");
}
else
{
Console.WriteLine("The number is odd ");
}
}
}