提到c#,就不得不说.net,.net是微软开发的一个平台,简单来说,在这个平台上,可以编写、运行程序。可能很多人觉得这个平台离我们很遥远,其实不然,这个平台就一直在我们的windows操作系统里,默默地为我们提供着服务。经过这么多年的发展,.net平台已经到了4.7版本。说的具体点,.net平台就在这里
路径C:\Windows\Microsoft.NET
Framework是.net的框架,这里的Framework和Framework64分别是32位和64位的文件夹,32位的操作系统只有Framework这个文件夹,没有Framework64。两个文件夹里存的东西基本差不多,如图
两个文件夹分别存放了32位和64位的不同的版本的.net。
这个平台怎么使用呢?我这里以64位的4.0版本为例。打开这个文件夹。
可以找到一个叫csc的程序,这个程序就是我们的编译器,其他版本的文件夹里也都有这个程序。我们可以使用编译器把源代码编译成可执行文件。举个例子,我在这里写一个程序:
在当前目录下新建一个文本,写好代码
这个代码的意思是输出"Hello World",这是编程学习的一个传统,第一个程序一定要写"Hello World"。现在不需要看懂这个程序,我先为你们讲一下编译的原理。
首先,把文件的扩展名改为cs,就是c sharp的意思,说明这是一个c#文件。这里有必要说一下,c#的读法是“c煞普”不是“c井”啊!
因为我安装了IDE,所以图标发生了变化,这个不用管。可以看到,我的扩展名已经改好了。然后打开控制台,按快捷键win+r打开运行,在里面输入cmd回车
 
我们敲命令,cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319,这条命令的意思是,跳转目录到C:\Windows\Microsoft.NET\Framework64\v4.0.30319,我们想跳转到哪都可以写cd加路径的,这次跳转到这里是因为这里存放着源文件。
跳转之后我们继续敲csc hello.cs,然后回车,这句命令的意思是,用csc编译hello.cs
敲完了之后下面出现了好多信息,我们去刚才的文件夹里看一看
发现多了一个exe文件,这就是编译好的可执行文件了。我们把它打开。
这个程序我们就编译完成了,这就是编译程序的完整步骤,这个exe文件可以拿去给别人直接使用了,虽然说没啥功能,但作为我们写的第一个程序是不是很有纪念意义呢?
有的同学可能要问了,我们只能在这个有csc的文件夹里写吗?当然不是,我们可以把程序写在任何地方,比如,我在桌面上写了一个,我们跳转目录到桌面。然后开始编译,发现不行
提示说csc不是内部或外部命令,这是因为这个目录里没有csc文件,所以系统找不到csc在哪里,所以就失败了。那么我们就要告诉系统csc在哪里,方法就是配置环境变量。
我们把csc的文件路径复制一下
右单击计算机,点击属性,再点击高级系统设置。
点击环境变量
在系统变量里找到Path并双击打开
打开之后win7和win10系统不一样,win10的简单一些,不同的环境变量都分栏显示,自己加上一栏就好,把刚才复制的路径加进去,如C:\Windows\Microsoft.NET\Framework64\v4.0.30319,我这里用win7系统截图
win7里的变量值都写在一个小框里,不同的环境变量之间用分号(英文的分号)隔开,所以我们需要在这行变量的最后加一个分号,然后把刚才复制的路径粘贴进去。
做好了一路确定就好。环境变量配置好了我们再来试一次。
成功了,现在可以在系统的任何地方写程序了。
 
ps:本文是为了使你们理解c#编译的原理,将来使用IDE开发不需要配置环境变量。 

c#小灶——初识c#的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. VUE、微信for动态变量取值(拼接取值)

    item.value是其它循的值如value=[1,2,3] {{'images[arrAy' + item.value+']'}} 那么拼接结果是 {{images[arrAy1]}}, {{ima ...

  2. 【React入门】React父子组件传值demo

    公司一直是前后端分离的,最近集团开始推进中后台可视化开发组件(基于React封装),跟师兄聊起来也听说最近对后台开发人员的前端能力也是越来越重视了.所以作为一名后端,了解下前端的框架对自己也是大有好处 ...

  3. oracle 向数据库同时插入多条数据

    oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作:  采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...

  4. 新手如何学python?

    在学习Python前,你应该规划好自己的学习方向,毕竟Python的方向比较多,比如: web开发 爬虫 自动化开发(运维,测试).脚本开发 大数据(数据挖掘,数据分析) 人工智能.机器学习 选择好自 ...

  5. 分享SQL,查询用户最近一次购买时间间隔

    (1)先创建一张测试表: CREATE TABLE `用户购买订单` ( `购买时间` datetime(6) NULL DEFAULT NULL, `用户` varchar(20) CHARACTE ...

  6. 使用Mysql执行SQL语句基础操作

    SQL:  又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...

  7. Class(类)和 继承

    ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰.更像面向对象编程的语法而已. //定义类 class Point { co ...

  8. 【POJ - 1573】Robot Motion

    -->Robot Motion 直接中文 Descriptions: 样例1 样例2 有一个N*M的区域,机器人从第一行的第几列进入,该区域全部由'N' , 'S' , 'W' , 'E' ,走 ...

  9. Element ui colorpicker在Vue中的使用

    首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker> 在 ...

  10. .NET多线程之线程安全,Lock(锁)、Monitor(同步访问)、LazyInitializer(延迟初始化)、Interlocked(原子操作)、static(静态)构造函数、volatile、

    1.什么是线程安全 线程安全是编程中的术语,指某个函数.函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成.一般来说,线程安全的函数应该为每个调用它的线程分配专门的 ...