zoukankan      html  css  js  c++  java
  • C#中的空对象使用

        注:以String 类型为例

    1. 不允许使用未赋值的变量;

      //未赋值情况

      string str1;

      string str2 = "%";

      str2 = str1 + str2;    //错误,使用了为赋值的局部变量str1,编译无法通过。

      Console.WriteLine(str2);

      结果:(编译时报错)

    2. 空对象(null)可以被使用,但不能被"."(点操作);

      //使用空对象,但不"."点操作

      string str1 = null;    //赋值为null

      string str2 = "%";

      str2 = str1 + str2;    //没有问题

      Console.WriteLine(str2);

      结果:%

       //空对象"."操作

       string str1 = null;

       string str2 = "%";

       str2 = str1.ToString() + str2;    //抛出异常,null对象被点操作了

       Console.WriteLine(str2);

       结果:(运行时抛异常)

     

     

    1. 字符串的""不是null,只是值的长度为0(0个字符), 在内存中分配了空间。

      //赋值为""情况

      string str1 = string.Empty;    //赋值为""

      string str2 = "%";

      str2 = str1 + str2;            //没有问题

      Console.WriteLine(str2);

      结果:%

     

      //赋值为""情况

      string str1 = string.Empty;    //赋值为""

      string str2 = "%";

      str2 = str1.ToString() + str2;    //没问题

      Console.WriteLine(str2);

     

  • 相关阅读:
    JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
    Java内部类详解 2
    内部类详解(很详细)
    《JAVA与模式》之简单工厂模式
    《JAVA与模式》之适配器模式
    多态
    java Final关键字
    java实例初始化块
    tween.js
    three.js 之旅 (三)
  • 原文地址:https://www.cnblogs.com/peach/p/1341749.html
Copyright © 2011-2022 走看看