提到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. 【MySQL插入更新重复值】ON DUPLICATE KEY UPDATE用法

    要插入的数据  与表中记录数据的 惟一索引或主键中产生重复值,那么就会发生旧行的更新 弊端:造成主键自增不连续.适合数据量不大的表. ON DUPLICATE KEY UPDATE后面的条件 eg有如 ...

  2. JS中的闭包 详细解析大全(面试避必考题)

    JS中闭包的介绍   闭包的概念 闭包就是能够读取其他函数内部变量的函数. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变 ...

  3. POJ 1986:Distance Queries(倍增求LCA)

    http://poj.org/problem?id=1986 题意:给出一棵n个点m条边的树,还有q个询问,求树上两点的距离. 思路:这次学了一下倍增算法求LCA.模板. dp[i][j]代表第i个点 ...

  4. HDU 3183:A Magic Lamp(RMQ)

    http://acm.hdu.edu.cn/showproblem.php?pid=3183 题意:给出一个数,可以删除掉其中m个字符,要使得最后的数字最小,输出最后的数字(忽略前导零). 思路:设数 ...

  5. JVM内存结构解析

    月初的时候个人网站到期了,不想再折腾重新建站了,以后还是来第三方博客写文章吧,可以省去很多问题.之前写的文章也不是很多,备份懒得做了,从头开始吧.博文仅仅是用来记录和学习总结,如有错误之处请帮忙指正! ...

  6. WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现

    WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...

  7. 影音播放器 Daum Potplayer v1.7.14804 美化便携版

    PotPlayer 是一款由世界老牌的著名多媒体影音播放器软件 KMPlayer 的原创作者姜龙喜先生进入韩国多音软件公司后开发的新一代多媒体播放器作品.前者的优势在于内置了功能强大的视频及音频解码器 ...

  8. Django rest framework(3)----节流

    目录 Django组件库之(一) APIView源码 Django restframework (1) ----认证 Django rest framework(2)----权限 Django res ...

  9. bzoj1584 9.20考试 cleaning up 打扫卫生

    1584: [Usaco2009 Mar]Cleaning Up 打扫卫生 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 549  Solved: 38 ...

  10. 一个简单的使用mock技术进行测试的例子

    Account: public class Account { private String acountId; private long balance; public Account(String ...