zoukankan      html  css  js  c++  java
  • S2第二章

    值类型:

    值类型源于SystemValueTye家族,每个值类型的对象都有一个独立的内存区域用于保存自己的值,值类型数据所在的内存区域称之为栈。知道在代码中修改它,就会在它的内存区域内保存这个值,值类型主要包括基本类型和枚举类型等。

    static void Main (string [] args)
    {
          int heightZhang = 170;
          int heightLi=heightZhang;
          Console.WriteLine("去年:张浩身高"+heightZhang+",李明的身高是:”+heightLi);        
          heightLi=180;
        Console.WriteLine("去年:张浩身高"+heightZhang+",李明的身高是:”+heightLi);        
    }

    程序结果为:

      第一遍:170  170

      第二遍:180  180

    小结:对值类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值,赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。

    引用类型:引用类型源于System.Object家族,在C#中引用类型主要包括数组,类和接口等。

      对引用类型,赋值是吧原对象的引用传递给另一个引用。对数组而言,当一个数组引用赋值给另一个数组引用后,这两个引用指向同一块存储空间。

      数组复制可以利用循环实现。对于两个数组array1 和array2(array2的长度不小于array1的长度),将数组array1中的元素的值复制到array2中,可以采取以下形式:

      for(int i = 0;i < array1.length; i++)

      {

        array2[i] = array1[i]; //将数组array1中元素的值复制到数组array2中

      }         

      结构:

        结构的定义:

          语法:访问修饰符  struct  结构名

              {

                //结构体

              }

          特点:结构中可以有字段,也可以有方法

             定义是,结构中的字段不能被赋初始值

      结构使用时,可以不用new,直接定义结构的队形即可。

      声明结构的对象后,必须给结构的成员赋初始值

      因为每当声明结构变量时,就会存储一个结构的新副本,既系统要开辟一块新的存储空间,因此结构用的越多所消耗的存储空间也越多。

      当对象需要用较少的字段来表示时,就可以选用结构来实现

    使用之方法(不用ref修饰)传递值类型参数时,参数在方法中的修改不会保留。

    使用值方法(不用ref修饰)传递引用类型参数时,参数咋方法中的修改会保留。

    使用引用方法(用ref修饰)传递值类型或引用类型参数时,参数在方法中的修改都活保留。

  • 相关阅读:
    入门菜鸟
    FZU 1202
    XMU 1246
    Codeforces 294E Shaass the Great 树形dp
    Codeforces 773D Perishable Roads 最短路 (看题解)
    Codeforces 814E An unavoidable detour for home dp
    Codeforces 567E President and Roads 最短路 + tarjan求桥
    Codeforces 567F Mausoleum dp
    Codeforces 908G New Year and Original Order 数位dp
    Codeforces 813D Two Melodies dp
  • 原文地址:https://www.cnblogs.com/wk7799666/p/8145890.html
Copyright © 2011-2022 走看看