C# 琐碎知识点

1.折叠冗余代码:#Region 和#EndRegion

  • 作用:代码 分成一个区域,方便折叠和展开

  • 区域首部:#region

  • 区域尾部:#endregion

二. 在控制台中显示输入内容  Console.WriteLine(123);
         

三.     等待作用 用户输入任意按键 Console.ReadKey();
           

四.Console.Write(); 输出任意类型内容,不换行

五. Console.ReadLine();从屏幕读取一串字符,并返回该字符串

六. Console.Read(); 从屏幕读取一个字符,并返回该字符所对应的整型数字ASCII值

// 且具备暂停程序功能 等待用户输入  按下回车后继续执行程序

程序集文化类型 包含 exe 和dll (动态链接库) exe 可手动执行文件   dll不可手动执行文件  dll包含程序中的功能

知识点  调用不同空间的类  参考第二章

标识符命名规则

1.标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
2.标识符中的第一个字符不能是数字。
3.标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
4.标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
5.标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
6.不能与C#的类库名称相同。
7.见名知意

数据类型:值类型和引用类型


    值类型:整数类型   浮点数   布尔类型   单字符类型    struct( 结构 )、 enum(枚举)
    引用类型:字符串类型  类类型   接口  数组、集合,委托

 整数类型:byte sbyte int uint long ulong  short ushort 
       类型不一样 取值范围不一样  占用的内存不一样  还分为有符号整数和无符号整数

 浮点类型:单精度和双精度和decimal类型 

  布尔类型:true和false    true对应的是1   false对应的是0

 单字符类型:单个字母和单个符号 使用''表示     'a' 'b' '你' 每个字符对用不同unicode编码

 字符串类型:多个单字符组成的类型   使用""和@""表示    "abc"  @"abc"

转义字符  @“”

// "" 表示单行字符串  如果遇到\ 会报错 会默认吧\当成转义字符
            // @""表示多行字符串   默认吧\当成普通字符

变量的命名规则

//定义变量格式:数据类型  变量的名字
            //命名规则遵循标识符规则
            //小驼峰命名法 : 除第一个单词之外,其他单词首字母大写
            //变量的名字在相同作用域中 是不允许相同的 

常量

/1.含义:存储不变的数据  常量的名字要全部大写 使用关键字const定义常量
            //创建时必须设置它的初始值 且只能被赋值一次
            //常量的定义:  const 数据类型  常量的名字

sizeof 作用 查看当前数据类型的占字节数

GetType()  获得当前变量的类型

  uint uintNumber = byteNumber;

            Console.WriteLine(uintNumber);
            //获得当前变量的类型
            Console.WriteLine(uintNumber.GetType());

Parse()   适用于 string转换成其他类型

 string stringNumber = "123";
            //把字符串类型转换成int类型
            int intNumber = int.Parse(stringNumber);
            Console.WriteLine(intNumber);
            Console.WriteLine(intNumber.GetType());
            //把字符串类型转换成int类型
            uint uintNumber = uint.Parse(stringNumber);
            Console.WriteLine(uintNumber);
            Console.WriteLine(uintNumber.GetType());
            
            //布尔类型 string的内容  true或者false
            string stringNumber1 = "true";
            bool boolNumber3 = bool.Parse(stringNumber1); 
            Console.WriteLine(boolNumber);
            Console.WriteLine(boolNumber.GetType());

            //数字类型转换  string的内容 符合数字内容
            //string stringNumber2 = "123a";
            //int intNumber2 = int.Parse(stringNumber2);
            //Console.WriteLine(stringNumber2);
            //Console.WriteLine(stringNumber2.GetType());
            string stringNumber2 = "123.11";
            float floatNumber1 = float.Parse(stringNumber2);

int.TryParse 与 int.Parse 又较为类似,

  ///但它不会产生异常,转换成功返回 true,
  ///转换失败返回 false。
  //最后一个参数为输出参数,如果转换失败,输出值为 0

 string stringNumber3 = "456";
            int number1;
            //isTrue是转换后成功true或者失败false的结果
             bool isTrue = int.TryParse(stringNumber3, out number1);
             //根据转换结果输出对应的转换的内容
            string strResult  = isTrue?"转换成功":"转换失败";
            Console.WriteLine("转换后的结果:"+number1);
            Console.WriteLine(strResult);

            //转换成功后结束  转换失败后 
            //继续重新输入 直到成功
            for (; ; )
            {
                Console.WriteLine("请输入数字:");
                string str1 = Console.ReadLine();
                int number2;
                bool isTrue1 = int.TryParse(str1, out number2);
                if (isTrue1 == false)
                {
                    Console.WriteLine("转换失败");
                }
                else
                {
                    Console.WriteLine("转换成功");
                    break;
                }
            }

Convert类型转换 适合各种类型相互转换

 string stringNumber7 = "123";
            int intNumber7 = Convert.ToInt32(stringNumber7);
            long longNumber7 = Convert.ToInt64(stringNumber7);
            short shortNumber7 = Convert.ToInt16(stringNumber7);
            uint uintNumber7 = Convert.ToUInt32(stringNumber7);
            ulong ulongNumber7 = Convert.ToUInt64(stringNumber7);
            ushort ushortNumber7 = Convert.ToUInt16(stringNumber7);
            float floatNumber7 = Convert.ToSingle(stringNumber7);
            double doubleNumber7 = Convert.ToDouble(stringNumber7);
            
             //bool类型转换成数字类型  true为1 false 为0
            bool isBool1 = false;
            int intNumber112 = Convert.ToInt32(isBool1);
            Console.WriteLine(intNumber112);

            //单字符转换成数字类型 为ACSii 码 10进制数字
            char charNumber13 = 'A';
            int intNumber13 = Convert.ToInt32(charNumber13);
            Console.WriteLine(intNumber3);


            // 万能类型转换  任意类型之间转换 但是转换的内容要符合转换后类型的标准 //否则抛出异常

ToString()  转换成字符串

//其他类型转换成字符串类型 
            int intNumber14 = 10;
            string intStr = intNumber14.ToString();
            Console.WriteLine(intStr.GetType().ToString());


            char charNumber14 = 'B';
            string  charStr =  charNumber14.ToString();
            Console.WriteLine(charStr.GetType().ToString());

            bool boolNumber14 = false;
            Console.WriteLine(boolNumber14.ToString().GetType().ToString());

            sbyte sbyteNumber14 = 20;
            Console.WriteLine(sbyteNumber14.ToString().GetType().ToString());

GetLength(0) 获取对应维度下标    第八章

CreateInstance 静态方法 用于创建一维数组    (观看 第八章

 intArray.SetValue(100, 0);//参数1 object  添加的元素
            //参数2  数组的索引值  

GetValue(0)  //获取一维数组指定位置元素

typeof(int) 转化值类型 为Type类型对象

//CreateInstance 静态方法 用于创建一维数组
            //参数1:设置数组数据类型  typeof(int) 转化值类型 为Type类型对象
            //参数2  数组的长度
            Array intArray = Array.CreateInstance(typeof(int), 5);
            Array floatArray  = Array.CreateInstance(typeof(float), 5);

            //参数1 object  添加的元素
            //参数2  数组的索引值  
            intArray.SetValue(100, 0);
            //通过for添加 0-4 到数组中
            for (int i = 0; i < 5; i++)
            {
                intArray.SetValue(i, i);
            }
            //foreach 遍历 array对象
            foreach (int item in intArray) {

                Console.WriteLine(item);
            }


            //获取一维数组指定位置元素
            int  a =  (int) intArray.GetValue(0);
            Console.WriteLine(a);

ToCharArray() 字符串转化单字符数组

        

数据类型转换

 //数据类型转换
            //从区间(数字类型)方面进行数据类型转换 
            //分为隐式类型转换 和显式类型转换

            //隐式类型转换 小区间到大区间

                   参考 文章三

              

byte byteNumber = 10;
            uint uintNumber = byteNumber;

            Console.WriteLine(uintNumber);
            //获得当前变量的类型
            Console.WriteLine(uintNumber.GetType());
            Console.ReadKey();


            //显式类型转换 大区间转小区间 必须明确转换的类型(类型)
           

 uint uintNumber1 = 254;
            byte byteNumber1 = (byte)uintNumber1;
            Console.WriteLine(byteNumber1);

 

break 终止当前循环体

continue 终止当次循环   进入下次循环

访问修饰符  详情查看  第六章

//C# 方法的调用  和  传参(函数) (第七章

数组  (观看第八章) 重要

Array 类的方法  (观看第九章)

接口不是类    接口继承是不影响累的继承的

  //解决T 泛型的 默认值问题
            D a = default(D);

强制开启回收  立即回收内存  调用析构函数
            GC.Collect();

 //base关键字  代表父类的对象

重写 必然发生在基类和派生类中,其类函数用virtual修饰,派生类用override修饰

父类允许子类覆盖叫重写  virtual允许子类覆盖   这种方法叫虚方法

子类重写父类的方法 使用override 

在类的方法前加上关键字( virtual ),则该方法被称为虚方法。

//抽象类    
    //1.关键字 abstract

        2.通过包含使用  override 修饰符的属性声明,可在派生类中重 写抽象类 方法和属性

接口使用 interface 关键字声明,它与类的声明类似。接口声明默认是 public 的

声明密封类时需要使用sealed关键字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值