如何在递归方法中检查相同变量的值?
How to check value of same variable in recursion Method?
我有一个变量,我想用递归方法检查它。
使其可见:
private static void myMethod(/*variables*/){
while (/* condition */) {
foreach (/* condition */) {
if (/* condition */) {
foreach (/*condition */) {
myMethod(/*variables*/);
}
} else {
/* THIS IS THE PART I AM ASKING FOR:
The if statement should ask if the Variable is NOT the same as before.*/
if (myMethodVariable != myMethodVariable[from before]){
// stuff to do.
}
所以 myMethodVariable 有一个值,它是一个 char/string。我想检查这个值是否和以前一样,所以我可以检查重复项并立即打破循环。
有没有办法像 myMethodVariable['index'] 一样获取值?由于变量是 char/string,因此不能那样使用。
对不起我的英语。
您可以将变量作为参数传递给下一个调用:
private static void myMethod(/*variables*/, myMethodVariableFromBefore){
while (/* condition */) {
foreach (/* condition */) {
if (/* condition */) {
foreach (/*condition */) {
myMethod(/*variables*/, myMethodVariable);
}
} else {
/* THIS IS THE PART I AM ASKING FOR:
The if statement should ask if the Variable is NOT the same as before.*/
if (myMethodVariable != myMethodVariableFromBefore){
// stuff to do.
}
一个解决方案是存储入口点给定的值,然后将其与新值进行比较。
void MyMethod(int pipo)
{
var oldPipo = pipo;
//...//
pipo = SomethingClever(); // Or something with recursive call.
//...//
if (oldPipo == pipo)
{
// we are done.
}
}
我有一个变量,我想用递归方法检查它。
使其可见:
private static void myMethod(/*variables*/){
while (/* condition */) {
foreach (/* condition */) {
if (/* condition */) {
foreach (/*condition */) {
myMethod(/*variables*/);
}
} else {
/* THIS IS THE PART I AM ASKING FOR:
The if statement should ask if the Variable is NOT the same as before.*/
if (myMethodVariable != myMethodVariable[from before]){
// stuff to do.
}
所以 myMethodVariable 有一个值,它是一个 char/string。我想检查这个值是否和以前一样,所以我可以检查重复项并立即打破循环。
有没有办法像 myMethodVariable['index'] 一样获取值?由于变量是 char/string,因此不能那样使用。
对不起我的英语。
您可以将变量作为参数传递给下一个调用:
private static void myMethod(/*variables*/, myMethodVariableFromBefore){
while (/* condition */) {
foreach (/* condition */) {
if (/* condition */) {
foreach (/*condition */) {
myMethod(/*variables*/, myMethodVariable);
}
} else {
/* THIS IS THE PART I AM ASKING FOR:
The if statement should ask if the Variable is NOT the same as before.*/
if (myMethodVariable != myMethodVariableFromBefore){
// stuff to do.
}
一个解决方案是存储入口点给定的值,然后将其与新值进行比较。
void MyMethod(int pipo)
{
var oldPipo = pipo;
//...//
pipo = SomethingClever(); // Or something with recursive call.
//...//
if (oldPipo == pipo)
{
// we are done.
}
}