shenhuan111
2015-04-18 07:30
采纳率: 64.3%
浏览 2.9k

C#中GetComponent<T>(),如果T是一个类的话,返回的是类的地址吗,还是一个类

返回的类会影响T本事内容吗??
官网查的:
Object GetComponent (
PropertyDescriptor propertyDescriptor
)
B类中的a.i会改变A中的类的i的值,可是这个 GetComponent 不是一个地址形式,为什么会改变呢??

 using UnityEngine;
using System.Collections;

public class B : MonoBehaviour {
    A a;
    A a1=new A();
    // Use this for initialization
    void Start () {
        a = GetComponent<A>();
    }

    // Update is called once per frame
    void Update () {
        if (Input.GetKey(KeyCode.A))
        {
            a1.i = 4;
        }

}

using UnityEngine;
using System.Collections;

public class A : MonoBehaviour {
    public int i;
    // Use this for initialization
    void Start () {
        i = 3;
    }

    // Update is called once per frame
    void Update () {
        if (i == 4)
            print("i=4 \n");
    }
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2015-04-18 07:36
    已采纳

    对于引用类型,是对象的引用(你可以理解为是指针)
    对于值类型(struct),是值。

    点赞 评论
  • blownewbee 2015-04-18 07:34

    对于引用类型,是对象的引用(你可以理解为是指针)
    对于引用类型(struct),是值。

    点赞 评论
  • bdmh 2015-04-18 07:35

    返回这了类实例,或是它的引用,修改会影响源对象

    点赞 评论
  • Hiram9846 2015-04-23 03:12

    c#中类是引用类型,getcomponet<>()获取的是类的引用,会对原有类造成影响.

    点赞 评论

相关推荐 更多相似问题