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. OkHttp 优雅封装 HttpUtils 之 上传下载解密

    曾经在代码里放荡不羁,如今在博文中日夜兼行,只为今天与你分享成果.如果觉得本文有用,记得关注我,我将带给你更多. 还没看过第一篇文章的欢迎移步:OkHttp 优雅封装 HttpUtils 之气海雪山初 ...

  2. 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类

    在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...

  3. java 一维数组的总结笔记

    数组 1. 一位数组的声明方式 type[] array Name 或 type arrayName[];(推荐使用第二种) 错误的声明方式 //int[5] intErrorArray;错误的 // ...

  4. C# LINQ查询之对象

    LINQ是一组查询技术的统称,其主要思想是将各种查询功能直接集成到C#语言中,可以对 对象.XML文档.SQL数据库.外部应用程序等进行操作. 这里面讲的简单的几个子句, 必须以from子句开头,以s ...

  5. 杂园日记-获取URL参数

    function getUrlParams(name, url){ var locationUrl = window.location.search; if(url){ var s =url.inde ...

  6. Unity 芯片拼图算法

    很多游戏的养成系统中会有利用芯片或者碎片来合成特定道具的功能,或者来给玩家以额外的属性提升等,先截个图以便更好说明: 如上图,我们有各种各样形状迥异的碎片,上面只不过列举了其中一部分,现在,我们需要利 ...

  7. Python常见报错 - 使用openpyxl模块时出现错误: zipfile.BadZipFile: File is not a zip file

    背景 在pycharm项目下,有一个data.xlsx,主要用来存放接口测试用例数据的 要通过openpyxl库去读取data.xlsx,方法: openpyxl.load_workbook(path ...

  8. 7、窗口函数 & Windows 的 Operator demo

    代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 一.窗口函数 在定义了窗口分配器之后,我们需要为每一个窗口明确的指定计算逻辑,这个就是窗口函数要做的事情,当 ...

  9. sqlilabs less18-22 HTTP头的注入

    less18 user-agent的注入 源码分析: check_input对name,password进行了过滤 function check_input($value) { if(!empty($ ...

  10. 2019-2020-1 20199310《Linux内核原理与分析》第六周作业

    1.问题描述 在前面的文章中,学习了系统调用的相关理论知识,并使用库函数API和C代码中嵌入汇编代码两种方式使用getpid()系统调用.本文将内容围绕系统调用system_call的处理过程,在Me ...