我是C#的新手。我想显示我的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;
}
答案 0 :(得分:3)
如果您不致电Console.WriteLine()
,则不会在控制台上打印任何内容。
也是这样:
Console.WriteLine(calc.MyApp("try", "yrt"));
我们通常使用描述性动词来命名方法-因此您的MyApp
应该变成Calculate
。
而类别应该以名词命名-因此您的Calculate
应该成为MyApp
。
这样,您的代码更具表现力:
var app = new MyApp();
Console.WriteLine(app.Calculate("try", "yrt"));
答案 1 :(得分:0)
您可以使用此:
class Program
{
static void Main(string[] args)
{
Calculate calc = new Calculate();
int result = calc.MyApp("try", "yrt");
Console.WriteLine(result);
}
}
答案 2 :(得分:0)
问题出在这条线上:
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
的调用的参数。
这两种方法均有效。如果您刚刚入门,我个人建议使用变量。内联调用可以节省空间并且可以提高性能,但也会使调试更加困难。
答案 3 :(得分:0)
如果您使用Console.WriteLine()
,并且它始终返回-1,那么您的问题不应该出在MyApp()方法中的代码上。
真正的问题是,您正在旋转第一根弦,而没有将其转过来。 因此,如果您的第一个字符串是“ hello”,而第二个字符串是“ olleh”,则对于每个迭代,您将获得以下第一个字符串:
您将永远不会得到“ olleh”