C#随堂笔记2017.2.15

1.C#程序运行过程?
第一步:进入static void Main()
第二步:运行static void Main() 中的Application.Run(new Form1());在这中间对窗体进行构造。
第三步:执行后显示窗体,进行程序的运行,等待事件发生,并相应事件。
第四步:关闭窗体.exit Application.Run(可能相当于WINDOWS中的消息循环机制)函数,程序结束。
2.C#语法糖?
简单说,语法糖就是为了避免coder出现错误并提高效率的语法层面的一种优雅的解决方案。语法糖就是一种便捷写法。最基本的for(var i = 0;i < 5;i++){......}
语法糖大汇总:http://www.cnblogs.com/cyit/p/6252923.html
3.C#命名规范
对于大多数标识符,应该使用Pascal大小写风格。在这种风格中,连接成标识符的每个单词都首字母大写。
类名称采用Pascal大小写,首字母大写。
窗体的名称也属于类名称的一种,所以采用Pascal大小写,首字母大写。本地变量,窗体的实体也属于本地变量,首字母小写,其他单词首字母大写。
4.as,is的扩展。
Is:检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。永远不会抛出异常
如果对象引用为null,那么is操作符总是返回为false,因为没有对象可以检查其类型。
as:检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
不会抛出异常;
如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;
用as来进行类型转换的时候,所要转换的对象类型必须是目标类型或者转换目标类型的派生类型
As与is的区别:
a、AS在转换的同时兼判断兼容性,如果无法进行转换,则 as 返回 null(没有产生新的对象)而不是引发异常。有了AS我想以后就不要再用try-catch来做类型转换的判断了。因此as转换成功要判断是否为null。
b、AS是引用类型类型的转换或者装箱转换,不能用与值类型的转换。如果是值类型只能结合is来强制转换
c、IS只是做类型兼容判断,并不执行真正的类型转换。返回true或false,不会返回null,对象为null也会返回false。
d、AS模式的效率要比IS模式的高,因为借助IS进行类型转换的化,需要执行两次类型兼容检查。而AS只需要做一次类型兼容,一次null检查,null检查要比类型兼容检查快。
5.switch下的default后要加break;
6.String的引用类型测试。

2789632-7570ae6eed9e10ac.png
String的引用类型测试

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace helloworld
{
    class Program
    {
        static void Main(string[] args)
        {
            int [] arrA = {1,2,3};
            int [] arrB = arrA;
            foreach(int x in arrA){
                Console.WriteLine(x);
            }
            Console.WriteLine();
            foreach(int x in arrB){
                Console.WriteLine(x);
            }
            Console.WriteLine();
            //改变内存中的一个数值
            arrA[0] = 10;
            foreach (int x in arrA)
            {
                Console.WriteLine(x);
            }
            Console.WriteLine();
            foreach (int x in arrB)
            {
                Console.WriteLine(x);
            }
            //测试String的引用类型
            String s1 = "aaaaaa";
            String s2 = s1;
            Console.WriteLine(s1);
            Console.WriteLine(s2);
            //更改s1
            s1 = "abbbb";
            Console.WriteLine(s1);
            Console.WriteLine(s2);
            Console.ReadLine();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值