1

所以!我有一个 C# 数组。

我有一个函数可以从数组中返回一个元素,因此可以访问该引用中的数据。耶!

如果更改该引用然后影响数组中的原始元素,那将非常方便。这是静态变量的作用吗?有没有办法做到这一点?怎么做?例如:

函数 A 找到一个项目:

public TutorialPopupBehavior GetBehavior(string behaviorName) {
        foreach(TutorialPopupBehavior beh in _tutorialItems) {
            if(beh._popupName == behaviorName) {
                return beh;
            }
        }
        print ("Could not find behavior of name " + behaviorName);
        return null;
    }

然后将其返回给函数 B,理想情况下,该函数将能够更改返回项的属性:

public void SetTutorialItem(bool state, string itemName) {
        TutorialPopupBehavior beh = GetBehavior(itemName);
        if(beh == null) {
            print ("No tutorial item found, so can't set it to " + state);
            return;
        }   
        //idealistic code: beh._isShown = true;

    }

然后,该元素的 _isShown 属性将在原始 _tutorialItems 数组中永久更改...你们如何完成此操作,或进行不同的设计,以避免出现问题?我问的原因是因为我有许多要搜索的数组,并且我不想通过要求同一个类多次搜索同一组数组来使我的代码复杂化。

4

1 回答 1

1
 public  void GetBehavior(string behaviorName, ref TutorialPopupBehavior b) {
            foreach(TutorialPopupBehavior beh in _tutorialItems) {
                if(beh._popupName == behaviorName) {
                    b = beh;
                     Return;
                }
            }
            print ("Could not find behavior of name " + behaviorName);
            b = null;
        }

阅读这篇msdn 文章

于 2013-01-01T06:26:36.097 回答