C#第一天

  今天主要是学习的C#的基本概念,对C#有个初步的了解。写篇博客记录和整理一下今天的收获。

一、net和c#的关系

  (一)、C#是专门为.net平台开发的语言;      

  (二)、c#是面向对象的;

  (三)、net是个平台 是一个跨语言的平台 也可以跨平台(通过mono);

  (四)、C#(VB.net等.net语言)可以 通过.net平台来编写和部署运 行.net应 用程序。

二、平台的重要组成

  (一)、FCL 框架类库 —  微软事先定义好的类的集合(一个个的程序集)
  (二)、CLR 公共语言运行时   —  创建部署运行.net程序的必备环境
                e.g   Console(类).Writeline("大家好!");
       注意:(C#文件的后缀是.cs)
三、csc编译器作用
  检查源文件是不是符合规则,若符合编译成exe文件,若不符合则报错
四、编写程序的步骤
  (一)、编写源代码 C#的源文件的后缀名是.cs;
  (二)、使用开发人员工具csc命令将源文件编译成exe文件;
  (三)、运行exe文件;
  (四)、解决方案下面存放的是项目。

五、CPU的功能

  (一)计算       (二)协调
    1.cpu只认识二进制代码
    2.通过csc命令编译的的exe文件才叫做程序集
六、集成开发环境(IDE)
    如.net 的visual studio    C# 控制台应用程序
  (一)、解决方案(slu) :用来管理项目 一个解决方案可以有多个项目 多个项目组成一个解决方案

  (二)、F5 和F6的区别

      F5:将解决方案下的所有项目编译成程序集并运行当前程序

      F6 :将解决方案下的所有项目编译成程序集

  (三)、程序的入口和退出口

      程序的入口 :   是main函数       main函数在一个项目中最多只有一个
      程序退出 :       1.用户主动退出       2.main函数执行完毕程序主动退出
      e.g    console.readkey(); 当程序运行到这句话代码时程序会暂停 当按下键盘上的任意代码时 程序继续运行
    * 代码段
         如何定义代码段?
         工具 —代码段管理器 —C# —复制路径— 打开

        *.net 框架实际就是一个一个软件
   (四)、关于计算机的硬盘和内存

      硬盘的作用存储数据
      内存的作用 存储数据
    区别1.内存的访问速度非常快

      2.断电数据就消失

      3.每一种数据类型在内存中开辟多大的空间是根据这个数据类型来确定的

      4.数据类型就是在内存中开辟空间大小的一个模版

      5.预定义数据类型:微软事先规定好开辟空间的大小的模版
    注意:在内存里开辟空间的时候要指定空间的类型 类就是自定义的一种数据类型
  (五)变量:内存里面开辟的一块空间
      1. 变量名就是为这个空间取得别名 (如:i1 i2 等变量名)
      2. 变量类型:就是这个空间的数据类型
      3. 变量的值 :就是这个空间里的值
      4. 定义变量 :      数据类型 变量名;
         e.g   int i;//开辟一块int类型的空间
        (1).数据用什么样的类型来存取?
           年龄用数值来存取
          不需要参加运算的用字符串来存取即可 比如说身份证号
        (2).赋值 i=2 等号是赋值符号
        (3).变量值是可以改变的
        (4).一个变量里面只能存一个值
        (5).如果改值就会将原来的值覆盖掉 变量使用之前必须为变量赋值
八 、数据类型转换
   (一)、数据兼容情况下 强制转换: b=(byte) i
   (二)、字符串 int i1=int.parse(str) 字符串是整数型才能转换成功
      parse方法只能转化字符串
      bool 型 bool b1=true int i2=convert.toint32(b1)
      convert是根据变量的意义来转化的
     *parse转换和convert转换有什么区别?【string类型】

        convert转换其实内部就是调用的int.parse()方法 只不过在调用之前 判断字符串的值是不是null 如果是null返回0
              string str1="123";
              int i10=int.parse(str1);
              int i111=convert.toint32(str1);

九、数组
  int[]arr=new int[4];    //arr的数据类型是int数组
  (一)、先在栈里开辟空间 空间名字arr 空间类型int数组
  (二)、然后在堆里开辟连续的4个连续的int空间, 将地址赋值给变量 , 表达式的返回值是一个地址

    *值类型和引用类型
      1.值类型
          数值类型 char bool 枚举 结构                   直接将数据存储在栈里的变量的空间里面
      2.引用类型
          string 数组 类                                     变量声明在栈里面 阵势的对象存储在堆里面 栈里面的变量存储的是对象的地址
                   ** 将一个变量的值复制给另外一个变量 无论怎么样都是将变量的值拷贝一份进行赋值 不同的是引用类型的变量里存储的是地址,所以导致了传递的是地址

                    指的是同一个对象

             

原文地址:https://www.cnblogs.com/niyingying/p/3657272.html