zoukankan      html  css  js  c++  java
  • (WPF&Silverlight)可空,null

    可空类型即引用类型

    不可空类型即值类型

    可空,即可 = null;

     注意点:在不可null类型后加?就可以为null

    int? i = null;

    int?的范围大于int(可null的大于不可为null)

    即 int a = 1;

       int? b = a;这是可以的,但相反将int?赋值给int就不行。

    wpf中用到的多,如CheckBox的IsChecked属性即为bool?类型

    javascript中null属于初始类型(Ⅰ)之一

    而用alert(typeof (null)); 则出来是object ,object是属于两种类型的另外一种引用类型(Ⅱ)

    这是为什么呢?

    Maybe

    初始类型是存在栈中的,而引用类型是在堆中开辟空间(在栈中存储地址,指向堆中内存)

    在栈中,开辟的空间是固定的,运行速度相对较快

    在堆中,开辟的空间是可扩展的,运行速度相对较慢

    各自有利有弊,也算符合能量守恒定律

    说回null,null只是一个占位符(在栈中占一个位置),并未在堆中开辟内存。

    作用:可以清空对象,当一个引用类型无用的时候,赋值成null,内存就被释放了。(猜测- -)

  • 相关阅读:
    8.ps输出属性-----状态
    洛谷P1057 传球游戏
    动态规划
    洛谷P1192 台阶问题
    最大公约数和最小公倍数
    C++ memcpy()函数用法
    next_permutation(a,a+n)
    std::ios::sync_with_stdio(false);
    让计算机很快地求出a^b%c;
    洛谷P1433 吃奶酪
  • 原文地址:https://www.cnblogs.com/joeymary/p/4618532.html
Copyright © 2011-2022 走看看