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修饰)传递值类型或引用类型参数时,参数在方法中的修改都活保留。

  • 相关阅读:
    449. Serialize and Deserialize BST
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    240. Search a 2D Matrix II
    5. Longest Palindromic Substring
    数位DP专题(开坑。
    POJ 2356
    HDU 4055
    HDU 4054
    HDU 1559
  • 原文地址:https://www.cnblogs.com/wk7799666/p/8145890.html
Copyright © 2011-2022 走看看