C# 如何从主类中的int方法获取返回值

C# 如何从主类中的int方法获取返回值,c#,.net,console-application,C#,.net,Console Application,我是新来的。我想显示我的MyApp方法的返回值 public int MyApp(string strFirst, string strSecond) { if (strFirst.Equals(strSecond)) { return 0; } for (int i = 0; i < strFirst.Length; i++) { string

我是新来的。我想显示我的
MyApp
方法的返回值

    public int MyApp(string strFirst, string strSecond)
    {
        if (strFirst.Equals(strSecond))
        {
            return 0;
        }

        for (int i = 0; i < strFirst.Length; i++)
        {
            string temp = strFirst.Substring(0, strFirst.Length - 1);
            temp = strFirst[strFirst.Length - 1] + temp;
            strFirst = temp;
            if (strFirst.Equals(strSecond))
            {
                return i + 1;
            }
        }
        return -1;
    }
public int MyApp(字符串strFirst,字符串strSecond)
{
if(strFirst.Equals(strSecond))
{
返回0;
}
for(int i=0;i
您可以使用以下功能:

class Program
{
    static void Main(string[] args)
    {
        Calculate calc = new Calculate();

        int result = calc.MyApp("try", "yrt");
        Console.WriteLine(result);
    }
}

如果不调用
Console.WriteLine()
,则不会向控制台打印任何内容。
我们也要这样做:

我们通常用描述性动词来命名方法,所以你的
MyApp
应该变成
Calculate
。 而类应该用名词命名,所以你的
Calculate
应该变成
MyApp
。 这样,您的代码更具表现力:

var app = new MyApp();
Console.WriteLine(app.Calculate("try", "yrt"));

问题在于:

calc.MyApp("try", "yrt");
您正在调用
MyApp
方法,但未存储或使用结果

如果要将结果用于其他用途,则将结果存储在变量中非常有用:

//Store the result
var result = calc.MyApp("try", "yrt");
//Display the result
Console.Writeline(result);
您还可以将表达式(对方法
MyApp
的调用)作为参数传递给
Writeline
方法:

Console.Writeline(calc.MyApp("try", "yrt"));
运行时将执行对方法的调用,并将结果用作调用方法
Writeline
的参数


两种方法都有效。如果您刚刚开始,我个人建议您使用变量。内联调用可以节省空间并提高性能,但它们也会使调试更加困难。

如果使用
Console.WriteLine()
,并且它总是返回-1,而这不应该是MyApp()方法中的代码的问题所在

真正的问题是你正在旋转你的第一根弦,而不是把它转过来。 因此,如果您的第一个字符串是“hello”,第二个字符串是“olleh”-对于每个迭代,您将得到以下第一个字符串:

  • 奥赫勒
  • 洛希尔
  • 洛赫
  • 你好

  • 你永远不会得到“olleh”

    使用
    Console.WriteLine
    Console.Write
    。你为什么选择不使用Console.WriteLine?有具体的原因吗?没有具体的原因。我只想向用户显示我的返回值。一切都可以。@SerhatGüneş,您描述的问题可能与
    控制台无关。WriteLine()
    -事实上,它反映了您从中返回的函数中的错误。在1个函数中使用多个返回不是一个好主意,相反,您可以创建一个int变量,并根据条件在函数中假设不同的值,然后只需返回单个int变量。Ps:这就是你需要的控制台
    Console.Writeline(calc.MyApp("try", "yrt"));