zoukankan      html  css  js  c++  java
  • C#基础(三)引用类型和预定义值类型

    Vector x = new Vector();
    x.Value = 20;
    Vector y = x;
    Console.WriteLine(y.Value);
    y.Value = 50;
    Console.WriteLine(x.Value);

    Vector是一个引用类型,引用类型在使用的时候需要new来实例化一个。这段代码执行后,只有一个Vector对象,x,y都指向包含该对象的内在地址。所以输出的结果是20和50.

    CTS类型

    C#的预定义类型并没有内置于语言中,而是内置于.net Framework中,比如声明一个int类型时,实际上是.net结构System.Int32的一个实例。这说明,可以把所有的基本数据类型看作是支持某些方法的类。

    预定义引用类型

    1.object类型

    这是C#的基类,所有的类都派生自它。

    2.string类型

    注意,string类型是属于引用类型。在修改一个字符串的时候,实际上是创建了一个新的字符串,而并非修改了原来的字符串。看下面代码:

    using System; 
    using System.Windows; 
    namespace gosoa.com 
    { 
        class MyFirstClass 
        { 
            static void Main() 
            { 
                string str1="GoSoA.com.cn"; 
                string str2=str1; 
                Console.WriteLine("str1="+str1); 
                Console.WriteLine("str2="+str2); 
                str1="www.GoSoA.com.cn"; 
                Console.WriteLine("str1="+str1); 
                Console.WriteLine("str2="+str2); 
            } 
        } 
    }

    输出:

    str1="GoSoA.com.cn";
     
    str2="GoSoA.com.cn";
     
    str1="www.GoSoA.com.cn";
     
    str2="GoSoA.com.cn";

    当我们用GoSoA.com.cn来初始化str的时候,就在堆上分配了一个string对象,string也指向了这个对象。当str改变的时候,并不是修改了原有的对象,而是创建了一个新的,而st2指向原来的对象。

  • 相关阅读:
    获取MySQL各版本yum源 并安装
    CentOS 防火墙实用操作
    简单3步将你的python转成exe格式
    java 实现扑克牌打印
    java 一维数组的总结笔记
    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换
    c语言 0与非0
    Python中nonlocal的用法
    Python基础系列讲解-自动控制windows桌面
    flask_caching 缓存
  • 原文地址:https://www.cnblogs.com/yoomin/p/3497780.html
Copyright © 2011-2022 走看看