`
zhangjunjie1107
  • 浏览: 20633 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#笔记

阅读更多

1.数据类型
  数值类型:char , double ,float ,int ,bool ,decimal ,结构体 ,枚举 ...
  引用类型:数组 ,String ,委托 ...
  注意的是String也是引用类型
  还有就是关于装箱,拆箱的问题(大的数据类型转换为小的为拆箱,反之为装箱)注意装箱是把数据类型也装入了;
  举例如下:
          (装箱) double k = 3.3;
            object g;
            g = k;
            Console.WriteLine(g);
            这个就是装箱,但是装箱会很耗系统资源;
             double k = 3.3;
            object g;
            g = k.ToString();
            Console.WriteLine(g);
            这样就不会消耗太多系统资源,因为string型也是引用类型不用转;
         (拆箱)
            object k = 5;
            int i;
            i = int.Parse(k.ToString());
            Console.WriteLine(i);
            拆箱的时候必须转化为原来装箱时的数据类型,不然会出错;
           
  object是所有数据类型的父类,他是引用类型其实多数的引用类型都是类,所有的数值类型都是结构体
 
  注意:
      float k = 1.5;
      Console.WriteLine(k);
      这样是不对的,因为系统默认是double,所以必须显示的表示,所以要在1.5后加f;
      与float相同的还有decimal也要加后缀M或者m;
      其他的一次类推,实践才会知道;
     
  关于引用类型和数值类型的比较:数值类型存储在线程堆栈中,而引用类型存储在委托敦中;
  for example:
                int a = 3;
            int b = 5;
            Console.WriteLine(a);
            Console.WriteLine(b);
            changnum chk = new changnum();
            chk.chang(a, b);
            Console.WriteLine(a);
            Console.WriteLine(b);
        }

        class changnum
        {
            public void chang(int a, int b)
            {
                int temp;
                temp = a;
                b = a;
                b = temp;
            }
        这个就是值传递;传后数值不变
            int[] arri = new int[] { 8};
            int[] arrj;
            arrj = arri;
            arrj[0] = 100;
            Console.WriteLine(arri[0]);
        这个就是引用类型,区别在于引用类型的发生了交换;
       
  数组的定义:int[] arri=new int[]{1,3,5.....};这样比较简单
              也可以是:int[] arri=new int[5];
                        arri[0]=1;
                        arri[1]=2;
                        ................


2.流程控制

   1.for语句,while语句,do while语句,switch语句,if..else..语句
     这个C已经很清楚的话就没问题
   2.foreach语句
     这个C中是没有的,下面举个例子
            int[] arri = new int[3];
            arri[0] = 7;
            arri[1] = 8;
            arri[2] = 9;
            foreach (int i in arri)
            {
                Console.WriteLine(i);
            }
      遍历整个数组;
     
     
 3.集合和数组
  
    有两种堆栈,和队列
   
      堆栈:先进后出(FILO)
            Stack<int> stk = new Stack<int> { };
            stk.Push(1);
            stk.Push(2);
            foreach(int i in stk)
            {
                Console.WriteLine(i);
            }
            取出用push,取出来看是peek;
      队列:FIFO
            Queue<int> que = new Queue<int> { };
            que.Enqueue(1);
            que.Enqueue(2);
            foreach (int i in que)
            {
                Console.WriteLine(i);
            }
            取出是Dequeue,取出来看是peek;
      hashtable:
            HashSet<int> hs = new HashSet<int> { };
            hs.Add(1);
            hs.Add(2);
            hs.Add(3);
            foreach (int i in hs)
            {
                Console.WriteLine(i);
            }
            还有交错数组就不说了;

3.面向对象(慢慢想,比较抽象)

    class Program
    {
        static void Main(string[] args)
        {
            car car1 = new car();
            string name=car1.name;
            Console.WriteLine(name);
            car1.menony();
        }
      
    }
    public class car
    {
        public string  name="兰博基尼";
        public void menony()
        {
            Console.WriteLine("$1000000000");
        }
    }

4.类的语法....(4种)
  1.普通的类
   public class car
    {
        public string  name="兰博基尼";
        public void menony()
        {
            Console.WriteLine("$1000000000");
        }
    }
  2.静态类
    static void Main(string[] args)
        {
            car car1 = new car();
            string name=car1.name;
            Console.WriteLine(name);
            car1.menony();
        }
  3.抽象类abstract
  4.密封类sealed
 
5.继承


  普通函数的继承:
       static void Main(string[] args)
        {
            ZClass zl = new ZClass();
            zl.F1();
            FClass fl = new FClass();
            fl.F1();
            C#中还允许用子类实现父类
            比如
             FClass fl = new ZClass();
             fl.F1();
        }
       
        class FClass
         {
            public void F1()
          {
            Console.WriteLine("F1 father");
          }
         }
        class ZClass:FClass
         {
 
          }
   
        私有成员不能继承;
        internal是本应用程序中可以与public等同;
        protected是只能在子类中访问;

        子类可以影藏父类的方法属性等,可以用new关键字或者没有都可以;
        如果要覆盖就用virtul和override关键字,这样的话,用子类实例父类的时候条用的是子类的方法和属性,因为已经覆盖;
        关键字中乐意没有virtul但是不能没有override;

 2.静态类
   不能被继承;
   但静态方法和属性属于类;
  
 3.密封类
   也不能被继承;
  
 4.抽象类
  
   抽象类中的抽象方法等不能在抽象类中实现,只能定义;
   抽象类中的抽象方法等定义,必须在继承它的类中实现;
   抽象类不能实例,只能通过它的子类来实现,并且实现时应该用override关键字覆盖;
  
  
   关于构造函数的继承,应该是不能继承的,但是如果实现子类的构造方法和父类的构造方法
   不一致,那么我们必须base关键字调用父类的构造函数;
   this关键字自己看,一样的!
  
  
  

接口:
     接口可以继承接口,抽象类可以继承接口;
     类可以继承接口,接口不能继承类;
     具体的在研究设计模式的时候再深入;
     类只能单重继承,接口可以多重继承;
    
    
委托和事件:
    delegate  and event
   
   

分享到:
评论

相关推荐

    初学者可以用得着的C#笔记

    这份C#笔记旨在帮助初学者快速掌握C#编程基础,逐步构建对面向对象编程的理解,同时通过实践操作提升编程技能。随着学习的深入,你可以进一步探索更高级的主题,如Asynchronous Programming、Dependency Injection和...

    C#笔记本程序代码实现过程

    在本项目中,我们将深入探讨"C#笔记本程序代码实现过程"这一主题。C#是一种广泛应用于桌面应用开发、游戏开发以及Web服务的编程语言,由微软公司开发并推广。在这个特殊的案例中,我们关注的是使用C#来创建一个类似...

    c#笔记本(源码程序)

    《C#笔记本——初学者的编程宝典》 在编程世界中,C#是一门强大且广泛应用的语言,尤其在Windows平台上的开发工作中占有重要地位。本文将深入探讨刘鹏的C#学习资源,这个名为“c#笔记本”的源码程序,它为编程新手...

    C#教程 C#笔记 C#高级 C#知识点.rar

    在"笔记C#"中,你将找到关于这些主题的详细解释和实例,包括每个概念的使用场景和最佳实践。无论你是初学者还是有一定经验的开发者,这个资料都能帮助你巩固基础,探索C#的深度,提升编程技能。希望你在学习过程中...

    C#笔记和练习,C#笔记和练习

    1. **C#笔记.docx** 这份文档可能包含了C#的基础语法和高级特性。C#的基础部分可能涵盖变量、数据类型(如int, string, bool等)、控制流(如if语句、for循环、while循环)、函数、类和对象的创建与使用。高级部分...

    深度学习C#笔记.zip

    深度学习C#笔记深度学习C#笔记深度学习C#笔记深度学习C#笔记深度学习C#笔记

    C#笔记.md

    C#笔记

    C#笔记-Tantrong

    ### C#笔记-Tantrong #### 一、注释语句 在C#中,注释用于在代码中添加说明或暂时禁用代码段。C#支持三种类型的注释: 1. **单行注释**:使用 `//` 开头,注释一直持续到行尾。 2. **多行注释**:使用 `/*` 开始...

    C# 笔记本蓝牙遥控智能小车机器人源码

    在本项目中,"C# 笔记本蓝牙遥控智能小车机器人源码"是一个将C#编程语言与蓝牙通信技术结合,实现对智能小车机器人的远程控制的应用实例。这个项目分为上位机(通常指笔记本)和下位机(小车机器人)两部分,其中...

    笔记本(C#)

    【标题】:“笔记本(C#)” 【描述】中的知识点主要涉及了C#编程语言以及在软件开发中常见的文件操作功能。C#是一种面向对象的、类型安全的、现代的编程语言,由微软公司开发,主要用于构建Windows平台的应用...

    c#笔记本类练习.rar

    7. 工厂模式:根据标签"笔记本工厂学习笔记",可能还会涉及设计模式中的工厂模式。这可能表现为一个`NotebookFactory`类,用来创建`Notebook`实例,提供统一的创建接口。 通过这个练习,学习者不仅可以掌握C#的基本...

    C#笔记(精品收藏)

    C#学习精品电子资料 C#笔记 C#学习精品电子资料 C#笔记 C#学习精品电子资料 C#笔记 C#学习精品电子资料 C#笔记

    c# 笔记本Note保存、粘贴、查找

    在C#编程环境中,开发一个具备基础笔记本功能的应用程序,如"Note",涉及的关键知识点主要包括文件操作(保存、打开)、文本处理(复制、粘贴)以及搜索功能。以下是这些核心功能的详细解释: 1. **文件操作**: -...

    C#笔记本Wifi无线网络共享软件源码

    本文将深入探讨“C#笔记本Wifi无线网络共享软件源码”这一主题,它允许用户通过编程的方式,利用笔记本的无线网络接口创建一个热点,从而与其他设备共享网络连接。 首先,我们需要了解C#编程语言。C#是微软开发的一...

    c#笔记·1

    c#笔记·1,经典的入门材料

    C#笔记(20220104190638).pdf

    C#笔记(20220104190638).pdf

    C#笔记(20220104190922).pdf

    C#笔记(20220104190922).pdf

    C#笔记(20220104213809).pdf

    C#笔记(20220104213809).pdf

    C#笔记(20220104204247).pdf

    C#笔记(20220104204247).pdf

Global site tag (gtag.js) - Google Analytics