《c#本质论》读书笔记一

  1. 第一二章

  2. 1.4中System.Console.Read()
  3. 返回的数据类型是与字符值对应的一个整数,如果没有更多字符可用,返回-1。若要获得字符,要将整数转型为一个字符 e.g. 
    int readValue; 
    char character; 
    readValue = System.Console.Read(); 
    character = (char)readValue;
    System.Console.Write(character);
    1. 2.1.1中提到c#设计者和CLI设计者为添加具体类型曾争执不休。最后决定只支持每个长度一种类型。c#设计者认为除byte(无符号byte更有用)外其他有符号类型易被接受。p.s.对比C/c++中short是short int的缩写。在c#中short本身是一种实际的数据类型 其BCL名称为System.Int16.

    2. 2.1.3中说道decimal具有128位精度。适用于大而精的(类似于金融)计算。虽然精度高但范围小,所以从浮点转到decimal可能会溢出。

    3. 2.1.4

    4. 2.2.3逐字字符串字面量(verbatim string literal)
    5. 不仅将反斜杠当做普通字符处理,而且会逐字解释所有空白字符。唯一支持的转义字符为"
      class Triangle

     

     

    会照原样输出

    string的静态方法 Trim()会从外向内找到第一个非空白后停止 去掉字符时会将字符拆成char 从外向内删至第一个非待删字符

    字符串是不可变的 所以使字符串 text.ToUpper()要赋值给另一字符串.如果有大量字符串需要修改可使用System.Text.StringBuilder类型

    2.4.1中提到c#中值变量放在栈(stack)中,引用类型指向的内存区域称为堆(heap).由于访问引用类型涉及一次额外跳转,速度会慢些。但不像值类型要求相同数据的内存副本,所以内存利用率会好些 32位处理器只需复制一个32比特的地址,64位只需一64位的地址

    2.5可空修饰符 由于null不能附给值类型 so C#2.0推出新特性

    2.6.1check块

    输出时会报溢出的错 若用 unchecked 则会输出-2147483648

    2.6.3由于没有定义从字符串到数值类型的隐或显式类型因此需要像Parse()这样的方法。每个值数据类型都包含一个Parse()

    还有一种特殊类型,可将一种类型换成另外一种

    System.Convert只支持预定义数量的类型,且不可扩展。
    所有类型都支持ToString()
    另TryParse()如转换失败不会引发异常
    2.7.2 交错数组要求内部每个数组都创建一个数组实例
    C++非托管 并非总检查你的数组边界

     


     


     


     

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值