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#的运行时库。

  • 相关阅读:
    通过HTTP发包工具了解HTTP协议
    Oracle之数据库安全
    SQL注入深入剖析
    apache中如何调用CGI脚本
    fastcgi php-cgi与php-fpm区别和之间的关系
    使用PHPExcel实现Excel文件的导入和导出(模板导出)
    学会数据库读写分离、分表分库
    框架Thinkphp5 简单的实现行为 钩子 Hook
    php文件下载
    PHP为JSON数据的API返回空数组或者空对象
  • 原文地址:https://www.cnblogs.com/lian--ying/p/9093710.html
Copyright © 2011-2022 走看看