zoukankan      html  css  js  c++  java
  • c#基础知识

    1、namespace被用于组织代码,它是classes、interfaces、structs、enums、delegates的集合,同时它也可以包含其他的namespace。

    2、namespace的声明若放在.cs文件的起始处,在程序中就可以直接使用该namespace中包含的classs或interface等,否则必须在程序中给用到的非自定义的classes或interfaces等添加namespace前缀。

    3、c#是大小写敏感的编程语言。

    4、写console有两种方式:

    • Concatenation字符串拼接
    • Place holder syntax---占位符语法(更加受欢迎)

    5、在c#中,boolean类型仅能存储true和false,不能像在c或c++中那样存储0或其他数字值。

    6、在c#中,types可以被划分为两大子类别,即value types和reference types,前者包括int、float、double、struct、enum等,后者包括class、interface、delegate、array等。

    7、默认情况下,value types是non nullable,为使它们变为nullable,在类型声明和变量名之间添加?即可。nullable types(可置空类型)填补了c# types系统和数据库types系统之间的差异。想象一下下面的情形,下图是数据库某张表的一部分,其中Are You Student字段仅能选择是或者否,对应到c#中就是true或false,但该字段是optional可选的。若用户没有选填,那么在数据库中就表现为空(未填状态),此时,这种状态就无法对应到c#中的boolean type,因为boolean type仅能取true或false。这时就需要将boolean type转换为nullable type。

    8、nullable type的一个常用操作符??,该操作符常用于给与nullable type对应的value type分配一个默认值,该值将在当前值为空的nullable type被赋值给对应的value type时应用。

    9、Implicit conversion隐式类型转换由编译器自动完成,前提条件是转换过程中没有信息丢失而且不抛出异常时。比如,由int类型转换到float类型,可以成功转换,反之则不然。若操作者允许适当的信息丢失,则可以使用Explicit conversion显式类型转换,实现Explicit conversion有两种方式,一是使用强转操作符,二是使用c#中提供的convert类。这两种方式的区别在于:前者不会抛出转换异常,而后者则会。对于string形式的数字而言,除了可以使用convert类强转外,还可以使用Parse和TryParse方法强转,这两个方法的区别在于:当字符串中包含非数字时,前者会抛出异常,而后者则仅仅返回false,表示转换未成功。

    10、for循环和while循环仅在形式上不同,在实现原理上是相同的,两者均需要先初始化一个counter变量,然后设定循环检测条件,最后递增counter变量。foreach循环相比for循环而言,优点在于不会出现索引访问越界异常,不必在代码中明确指定循环的次数,最重要的是foreach循环可以循环collection class。

    11、.NET Framework class libraries 在默认情况下被C#编译器自动引用。注意:C#语言自身没有一个独立的C#运行时库(就像C运行时库那样),相反, .NET Framework是C#的运行时库。

  • 相关阅读:
    android数据恢复
    UVA 690 Pipeline Scheduling
    2017 国庆湖南 Day4
    2017 国庆湖南 Day5
    2017 国庆湖南 Day6
    2017国庆 清北学堂 北京综合强化班 Day1
    2017 国庆湖南Day2
    bzoj 2962 序列操作
    UVA 818 Cutting Chains
    UVA 211 The Domino Effect
  • 原文地址:https://www.cnblogs.com/lian--ying/p/9093710.html
Copyright © 2011-2022 走看看