zoukankan      html  css  js  c++  java
  • C#基础点滴

    1.命名空间的使用

          1.1 命名空间是.net中对代码逻辑意义上的划分,类似于java中的包,但是,命名空间不像包对应与物理上的文件路径。

          1.2 命名空间使用using关键字来引出。关于using的更多用法可以参考anytao的using使用。

          1.3 命名空间的嵌套使用及别名

    namespace LevelOne
    {
        using LT = LevelTwo; // 定义别名

        public class LevelOneClass
        {
            static string LevelOneName = "OneName";
           
            LevelOne.LevelTwo.LevelTwoClass twoClass1; //通过完全路径应用
            LevelTwo.LevelTwoClass twoClass2; // 由于LevelTwo在LevelOne内部,所以可以直接引用LevelTwo路径
            LT.LevelTwoClass twoClass3; // 通过别名方式引用
        }

        namespace LevelTwo
        {
            using LO = LevelOne; // 定义别名
            using LOC = LevelTwoClass;

            public class LevelTwoClass
            {
                static string LevelTwoName = "TwoName";

                LevelOne.LevelOneClass oneClass1; // 通过完全路径访问
                LevelOneClass oneClass2; // LevelOneClass在LevelTwo外层,可以直接访问
                LO.LevelOneClass oneClass3; // 通过别名访问

                LOC loc = new LOC(); // 通过别名使用类
            }
        }
    }

    2.运算符优先级

          优先级有高到底:

          ++,--(前缀);+,-(一元)

          *,/,%

          +,-

          =,*=,/=,%=,+=,-=

          ++,--(后缀)

    3.循环中断

          C#提供了四个命令:

          1.break---立即终止循环

          2.continue---立即停止当前的循环,继续执行下一次循环

          3.goto---跳出循环到已知标记(不建议使用goto)

          4.return---跳出循环及其包含的函数

    4. %运算符和/运算符

          %:为取余运算符,如 5 % 2 = 1            

          / :整除运算,如 5 % 2 = 2

    5. 常见类型及类型转换

          1. .net类型分支类型和引用类型

          2. 值类型:简单类型,结构体,枚举;引用类型:字符串,类,接口等

          3. 简单类型:数值类型,布尔类型,字符类型

          4. 数值类型:整型和浮点型。整型包括:byte(非负),short,int,long 和 sbyte(含负数),ushort,uint,ulong

              其上类型在.net中有如下别名与之对应:System.Byte,System.Int16,System.Int32,System.Int64和System.SByte,System.UInt16,System.UInt32,System.UInt64

              浮点型包括:float,double,decimal,其别名分别为:System.Single,System.Double,System.Decimal

           5. 布尔类型和字符类型:bool(System.Boolean),char(System.Char,一个Unicode字符,两个字节)

           6. 字符串类型是引用类型,但是其使用过程又像是值类型。

           7. 字符类型和数值类型之间的转换

                char ch = 'a';
                ushort b = ch;
                Console.WriteLine("ch:{0}", ch);
                Console.WriteLine("b:{0}", b);

          8. 转义字符

                \a:警告声

                \r:回车:Console.Write("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\rkkkkkkkkkkkkkk");

                      结果:kkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

                \n:换行:

          9. @对于字符串的作用

                @+字符串:忽略字符串中的转义字符,如:@"c:\window\a.txt" ,等效于 "c:\\window\\a.txt"

                甚至可以这样使用:string str = @"a   

                                              bcd"; 空格和回车直接作为字符串的一部分,否则回车必须使用/r/n;

          10. 类型转换:隐式转换和显式转换。

                隐式转换:使用=操作符,直接将小范围类型的变量赋值给大范围变量,或子类变量赋值给父类变量,转换操作有编译器完成。

                显示转换:当需要将大范围的变量转换为小范围的变量,或将父类赋值给子类,或者执行不同类型的转换(如:IntToString 或 StringToInt)

                Animal animal = new Animal();
                Bird bird = new Bird();

                animal = bird; // 隐式转换
                bird = (Bird)animal; // 显示转换

                byte b = 7;
                int myi = 33333;
                b = (byte)myi;// 显示转换 ----------该显示转换涉及到两个关键字checked和unchecked方法。

                      b = checked((byte)myi); 当转换溢出时会抛出异常,执行溢出检测,默认使用unchecked开关。
                myi = b; // 隐式转换
                b = checked((byte)myi);

                string str = "100";
                myi = Convert.ToInt32(str);// 显示转换

           

          11. 枚举

                1.枚举默认情况下是int类型,但可以是任意的数值类型,包括byte,sbyte,short,ushort.....

                      定义一个byte类型的枚举,枚举值可以相同

                          enum typeName : byte
                          {
                              value1 = 1,
                              value2 = 1,
                              value3 = 3,
                              value4 = 1
                          }

                2.枚举的几种类型转换操作 byte,enum,string

                      typeName myEnum = typeName.value1;
                      string myEnumStr = myEnum.ToString(); // EnumToString
                      byte myEnumByte = (byte)myEnum;  // EnumToByte
                      typeName myEnum2 = (typeName)Enum.Parse(typeof(typeName), "value2"); // StringToEnum
          

          12. ref,out,params区别

                ref:引用类型参数,通常方法调用使用的参数为值类型,当使用ref关键字显示作为参数前缀时,传递的是参数的引用,则其修改会直接反映到实参。引用类型参数使用前必须先初始化。

                out:输出类型参数,也是引用类型,但是与ref的区别是,使用前不必先初始化。允许多个输出参数,这样,对于需要多个返回值时,out方式是很有用的。

                      ref和out类型的参数,如果光只有这两个关键字作为区分,不能构成方法的重载。

                params:数组类型参数,一个方法只允许使用一个params关键字,并且不允许其他关键字一起使用。

  • 相关阅读:
    TinyMCE 官方插件一览表(不完全)
    关于在线编辑器的选择:tinymce
    file_put_contents 错误:failed to open stream: Invalid argument 一种原因
    QQ拼音输入法 该到放弃的时候了
    Apache 配置屏蔽某些请求头
    apache EnableMMAP指令
    xwamp 目录结构设计
    Windows服务器如何选 搭建WAMP环境
    Windows安装apache2.4
    自己动手打造WEB服务器 Windows + Apache + PHP + MySQL
  • 原文地址:https://www.cnblogs.com/im/p/1438677.html
Copyright © 2011-2022 走看看