学习C#第一天

先是了解了VS 2019编辑器的基本使用

安装Visual Studio

  1. https://mp.weixin.qq.com/s?__biz=MzU0MTg5NDkzNA==&mid=2247495527&idx=1&sn=04a9c39f703ff3491f6050be807e7afc&chksm=fb205f1ecc57d6082bc9bdd30fa455f550babfb1b729716b578b2214fbf80a40fbf002cd3c5e&scene=21#wechat_redirect 通过此网站教程安装

  2. 打开后安装必要工具”.NET 桌面开发、通用Windows平台开发、ASP.NET和Web开发、使用Unity的游戏开发”

  3. 安装位置需重新选择,不要安装在系统盘C盘,下载时间非常久,耐心等待。

  4. 下载安装完毕后最好重启一下电脑


    创建项目

    安装完毕后开始进入学习环节,打开VS后的第一部肯定是创建项目。对于初学者。现了解一下项目类型

    1. dos项目(控制台应用程序)

      创建时有两个可选,一般选(.NET Framework)

    2. C/S(Client Server)项目(Windows窗体应用程序)

      一般选择Windows窗体应用(.NET Framework)

    3. B/S(Browser Server)项目(ASP.NET Web窗体应用程序)

      一般选择ASP.NET Web 窗体网站(.NET Framework)选择完毕后在解决方案资源管理器中双击Properties打开设置窗口。选择Web,启动操作选择特定页Default.aspx


C#程序的基本结构

  

  1. 命名空间

    1. 概念

      C#程序中的一种代码组成形式,主要用来标识的可见范围

    2. 创建命名空间的语法

      namespace 命名空间名称

      (使用namespace关键字来命名空间。一般创建项目后,会自动给你一个命名空间)

      就好像创建了一个仓库,需要对应的钥匙来获得它的使用权

    3. 引用命名空间

      using 命名空间

      (使用using关键字来引用命名空间)

      using就好比打开仓库的钥匙。可以使用这个仓库中的内容

    1. 什么是类

      一种数据结构,存储数据成员、方法成员和其他类等个类容,便于调用。。。

    2. 语法

      class 类名{

      //类中的代码

      }

      使用关键字 class + 类的名字 来创建一个类

      在同一个命名空间中,雷鸣不能重复

    3. 引用

      同一个命名空间直接引用,不同空间需要先引用命名空间再来用命名空间调用其中的类

  2. Main方法

    Main其实就是一个程序的入口方法,它可以说是集火一个程序的开关,没有这个开关,这个程序就无法启动

    1. Main方法的要求

      1. Main方法必须定义为static(静态)

      2. Main的首字母必须大写

      3. 返回值类型可以是void(不返回数据)或者int(整数),其他都不可以

      4. 命令行参数可选

        命令行参数就是

        static void Main(string[] args)
              {
                   //输出内容
                   
              }

        中的string[] args,这个命令行参数可选也可以不选,一般用于dos窗口用命令行来运行方法

    1. 语法

      static void Main(string[] args)
            {
                 //输出内容
            }
      static int Main(string[] args)
            {
                 //输出内容
        //设定返回值
        return 0;
            }
      1. Main方法的常见错误提示

        1. 程序“***”不包含适合于入口的静态“Main”方法
          1. 没有Main方法

          2. Main方法写成了main方法

          3. 没有用static定义为静态方法

        2. 并非所有的代码路径都返回值
          1. Main方法的返回值不是void或者int

        3. 定义有多个入口点“***”,请使用/main参数编译以指定包含入口点的类型
          1. 如果有多个入口点,则点击菜单栏中单项目、选择“项目名“ 属性、选择应用程序选择启动对象(选择对应的启动对象)

  3. 注释

    1. 注释就是对代码的说明,让自己或别人知道这些代码是干什么的,注释是不会运行的,注释可以使代码失效。

    2. 行注释:给一行代码注释

      int a = 10;//定义一个a,给它赋值为10
      int A= 20;//定义一个A,给它赋值为20
    3. 块注释。多行全部注释

      /*
       这些都是注释
       注释
       ssss
       aaaa
       ddddd
      */
  4. 语句

    1. 概念:
      1. c#语句实质上就是实现各种功能的C#代码

  5. 关键字

    1. 关键字不要用做空间、类、方法的命名

  6. 标识符

    类名、变量名、方法名、数组名都属于标识符,标识符就好比一个名字。

    1. 名字的组成

      1. 首字母
        1. 字母

        2. 下划线 "_"

      2. 其余部分
        1. 任意的数字、字母、下划线 "_"

      3. 标识符不能与C#关键字冲突

        例如:

        int static= 20;
      4. 标识符区分大小写

        例如:

        int a = 10;
        int A= 20;
        //大小写不同不会冲突,大小写是需要区分的
  7. 程序编写规范

    1. 代码编写规则
      1. 尽量使用接口编程

      2. 关键语句一定要写注释

      3. 局部变量随用随声明

      4. 尽量少用got o语句

      5. 如果参数多,建议使用结构

      6. 避免对大段代码使用try...catch

      7. 同一个文件中避免编写多个类

      8. 字符串多变时,用StringBuilder

      9. if语句块中使用“{ }”

      10. switch语句中一定编写default

    2. 常用的两种命名方法
      1. Pascal命名法:所有单词第一个字母大写,其他字母小写。如User GetInfo

      2. Camel命名法:除了第一个单词,所有单词的第一个字母大写,其他字母小写。如userId userName

    3. 程序中各元素的命名规范

      遵循这些命名规范,能使代码的可读性提高

      1. 项目名

        1. 公司域名+产品名称

      2. 命名空间名

        1. 公司名称、产品名称

      3. 接口

        1. 一切接口开始于 I (大写的“i”)

      4. 类名

        1. 功能与操作的完美结合

      5. 方法名

        1. 动宾关系,实现何种操作

      6. 成员变量

        1. 尽可能加前缀“_”

学习C#第一天的更多相关文章

  1. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  2. 学习KnockOut第一篇之Hello World

    学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...

  3. ActionBarSherlock学习笔记 第一篇——部署

    ActionBarSherlock学习笔记 第一篇--部署          ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...

  4. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  5. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  6. javascript的ES6学习总结(第一部分)

    ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...

  7. Web基础学习---HTML 第一天

    Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...

  8. QT学习之第一个程序

    QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...

  9. 创芯Xilinx Microblaze 学习系列第一集

    创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft cor ...

  10. 学习GO第一天,自我感觉可麻利的开干了-GO语言配置、开发、服务器部署

    学习GO第一天,自我感觉可麻利的开干了-GO语言配置.开发.服务器部署 第一步下载 go sdk https://golang.org/dl/ https://storage.googleapis.c ...

随机推荐

  1. js console 性能测试 & don't-use-array-foreach-use-for-instead

    don't-use-array-foreach-use-for-instead slower https://coderwall.com/p/kvzbpa/don-t-use-array-foreac ...

  2. How to use JavaScript to implement precise setTimeout and setInterval

    How to use JavaScript to implement precise setTimeout and setInterval 如何使用 JavaScript 实现精确的 setTimeo ...

  3. React Native 三端同构

    React Native 三端同构 https://www.ibm.com/developerworks/cn/web/wa-universal-react-native/index.html rea ...

  4. 如何导出android内部存储的文件(不用root)

    这段时间公司项目,涉及到数据缓存,由于需要缓冲的数据太多.太大,通过网络请求,再缓存到本地sqlite数据库,太费时间,消耗流量.所以准备先在本地保存一个标准版sqlite数据库(包含数据),打包到a ...

  5. 比起USDT,我为什么建议你选择USDN

    2018年1月16日,USDT(泰达币)进入了很多人的视野.因为在这一天,在全球价值排名前50的加密货币中,包括比特币.莱特币以及以太坊在内的大多数的数字虚拟加密货币都遭遇了价格大幅下跌,只有泰达币价 ...

  6. 为什么说NGK公链的商用落地是可行的?

    互联网.大数据以及云计算的发展给人们的生活.工作带来了诸多便利,也让人们一次又一次感叹科技的进步.而NGK公链的诞生,更是让众人称之为传奇.其商用落地可行性,也让人惊叹.那么,为什么说NGK公链的商用 ...

  7. 类属性和__init__的实例属性有何区别?进来了解一下吧

    真的是随笔写的一篇,以防日后记忆模糊,特此记录.大佬勿喷 疑问:类属性和实例属性有何区别? 正题,代码如下 age为People类的属性(称为类属性) name是在__init__方法下,在创建实例对 ...

  8. 2021-2-20:请你说说分布式系统 BASE 理论是什么?

    BASE 理论是由 Dan Pritchett 在 ACM 上发表的一篇论文中提出的理论.是在 CAP 理论基础上提出的一种更实际的理论指导,和 PACELC 理论是有些相近的地方的. BASE 是指 ...

  9. JVM 字节码之 int 入栈指令

    本文转载自JVM 字节码之 int 入栈指令(iconst.bipush.sipush.ldc) 前言 本文介绍 int 入栈指令 iconst.bipush.sipubh.Idc. 当 int 取值 ...

  10. display: inline、block、inline-block、flex和inline-flex

    inline 共享一行 不能修改width.height属性,大小由内容撑开 padding属性 top.right.bottom.left设置都有效:margin属性只有left.right设置有效 ...