C#学习笔记(一)——准备工作

1.1 下载安装.NET框架

.NET框架有点类似于Java的JDK或者python的解析器,其中包括编译器,执行引擎、功能框架以及一些和SDK捆绑的工具。总之,要要编译和执行C#项目需要先安装.NET框架。

推荐使用官网下载:https://dotnet.microsoft.com/download

其中.NET Core版本是跨平台使用,在Windows、macOS、Linux下都可以使用,Framework版本只适用于Windows平台。一般选择Build Apps后的下载即可,“Run Apps”的文件也被包括在里面。

1.2 创建源代码

  • 如果是使用Visual Studio等IDE的话,选择文件--新建--项目,选择C#的项目即可。

  • 如果是命令行创建,可以依次输入以下代码:

    mkdir ./First
    cd ./Fiest
    dotnet new console
    dotnet run

    其中“dotnet new console”是新生成一个程序框架,它会生成一个默认的程序并包含一些代码,“dotnet run”是对这个新创建的项目进行编译和运行。

1.3 一些基本名称

using System;

namespace c_
{
class Program
{
static void Main(string[] args)
{
int number;
Morning morning = new Morning;
number = 1;
//打印Hi
Console.WriteLine("Hi");
} }
}
------
class Morning
{
...
}
  • using后面的叫命名空间,他的作用主要是,在用到该命名空间中定义的名称时,可以省略一部分。如果不使用“using System”这条语句,“Console.WriteLine("Hi")”这条语句就应该写成“System.Console.WriteLine("Hi");”。
  • class被称为类,在这里类的名称就是“Program”。
  • Main被称作方法。方法类似于C语言里面的函数。
  • args被称为参数。参数在方法后面的括号中出现。
  • int number被称为变量的声明。大概意思是宣称我要创建一个名叫number的变量,它的类型是int型。所谓类型就是这个变量是什么,比如整数、字符等。
  • number = 1被称为变量的赋值。
  • //Hi,//后面面的话被称为注释,可以添加一些对代码的说明,编译的时候编译器会忽略这些内容。
  • 由一对大括号括起来的区域称为作用域。比如Main后的大括号包含了三行代码,表示Main的作用域就是这三行,这三行之外的东西跟Main“不在一个国家”。
  • Morning morning = new Morning语句是新建了一个叫morning(注意大小写)的实例。类跟类的实例之间的关系有点像花瓶模具和花瓶之间的关系。
  • 方法作用域内的代码叫方法的实现,指的是该方法的具体内容。

1.4 简单的命名建议

  • 类和方法的名称每个单词的首字母大写,如HelloWorld。
  • 变量的名称除第一个单词首字母小写外,其他的大写,如helloWorld。
  • 虽然C#不强制,但是尽量使类名与保存该类的文件名保持一致。
  • 尽量使用命名来说明必要信息而不是添加注释。

# C#学习笔记(一)——准备工作的更多相关文章

  1. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  2. OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

  3. Spring学习笔记 1. 尚硅谷_佟刚_Spring_HelloWorld

    1,准备工作 (1)安装spring插件 搜索https://spring.io/tools/sts/all就可以下载最新的版本 下载之后不用解压,使用Eclipse进行安装.在菜单栏最右面的Help ...

  4. 转:openwrt中luci学习笔记

    原文地址:openwrt中luci学习笔记 最近在学习OpenWrt,需要在OpenWrt的WEB界面增加内容,本文将讲述修改OpenWrt的过程和其中遇到的问题. 一.WEB界面开发         ...

  5. zepto源码--核心方法10(位置)--学习笔记

    今天基本上就是zepto学习笔记的最后一篇了,介绍一下有关位置的函数,position, offset, scrollLeft, scrollTop scrollLeft 如果所选取的包装集不存在,则 ...

  6. DirectX 总结和DirectX 9.0 学习笔记

    转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surfac ...

  7. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  8. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  9. AM335x(TQ335x)学习笔记——挂载Ramdisk

    上篇文章中我们已经能够通过u-boot启动内核了,但是没有能够启动成功,从内核的log中可以看出,内核启动失败的原因是没有挂载到root文件系统,本文将使用busybox制作根文件系统并打包成ramd ...

随机推荐

  1. 5个有趣的Python小知识,结果令人意外

    1 字符串驻留 如果上面例子返回True,但是下面例子为什么是False: 这与Cpython 编译优化相关,行为称为字符串驻留,但驻留的字符串中只包含字母,数字或下划线. 2 相同值的不可变对象 这 ...

  2. stand up meeting 11/27/2015-11/29/2015

    part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云   确定释义显示方案并进行代码实现:     4  完成UI设计的各项动能按钮的代码实现  6 数据库 朱玉影  导入了4 ...

  3. C#开发BIMFACE系列33 服务端API之模型对比4:获取模型对比结果

    系列目录     [已更新最新开发文章,点击查看详细] 模型对比可以对两个文件/模型进行差异性分析,确定两个文件/模型之间构件的几何和属性差异,包括增加的构件.删除的构件和修改的构件. 模型对应可以用 ...

  4. 3. string

    let str = "my string"; 1. str.startsWith('my'); //true2.str.endsWith('my'); //false3.str.i ...

  5. [转]sql二次注入

    01 二次注入原理 二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入.防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据 ...

  6. phpstudy之访问loaclhost显示目录

    phpstudy版本:phpstudy2018 具体操作: 当前版本的默认设置访问网站根目录是不会显示目录的,需要我们设置,其实也很简单,只需两步就可以搞定 1.找到phpstudy目录下的www文件 ...

  7. Mybatis源码详解系列(四)--你不知道的Mybatis用法和细节

    简介 这是 Mybatis 系列博客的第四篇,我本来打算详细讲解 mybatis 的配置.映射器.动态 sql 等,但Mybatis官方中文文档对这部分内容的介绍已经足够详细了,有需要的可以直接参考. ...

  8. [Asp.Net Core] Blazor Server Side 项目实践 - 切换页面时保留状态

    前言: 这是 项目实践系列 , 算是中高级系列博文, 用于为项目开发过程中不好解决的问题提出解决方案的. 不属于入门级系列. 解释起来也比较跳跃, 只讲重点. 因为有网友的项目需求, 所以提前把这些解 ...

  9. Vue自定义指令 数据传递

    在项目开发过程中,难免会遇到各种功能需要使用Vue自定义指令--directive 去实现 .关于directive的使用方式这里就不做过多的介绍了,Vue官方文档中说的还是听明白的.今天讲讲在使用V ...

  10. PE文件学习(2)导入表导出表

    转自:evil.eagle https://blog.csdn.net/evileagle/article/details/12176797 导出表是用来描述模块中的导出函数的结构,如果一个模块导出了 ...