赤手空拳编写C#代码
有时候服务器上并没有安装任何IDE或典型的代码编辑器,只能完全手写C#代码。
不妨假设一台全新的PC,较新版本的Windows自带了.net框架,无需开发工具即可编程了。
除了以往的Bat批处理、VBS脚本,以及利用浏览器支持编写简单的程序,连C#、VB.net等编译型语言也可以直接开发了。
设置环境变量
为了方便启动C#的编辑器,而无需每次输入完整路径,我们可以将csc.exe加入系统默认搜索的路径。
1.搜索csc.exe的路径
比如是C:\Windows\Microsoft.NET\Framework\v4.0.30319 将其加入系统的环境变量
2. 如果需要始终生效则需要在环境变量中新建一个变量path内容为路径C:\Windows\Microsoft.NET\Framework\v4.0.30319

如果临时使用只需在cmd命令行输入 path=C:\Windows\Microsoft.NET\Framework\v4.0.30319

这样在任何cmd窗口下就可以直接使用csc命令了。
编辑器设置
干净的系统没有VS、没有Vim,连个Word都没有,Win7的话连个命令行edit都没有。这样编辑器只能选择最原始的记事本或者写字板了。
首先设置适合编程的等宽字体,如Consolas。
在任意目录下,Shift+右键可增加在此处打开命令窗口,省略当前路径的输入。
写字板
优点:支持文字颜色修改(也得手动更改,可以做辅助提示使用)
文字处理更为丰富,支持文字快捷键,如Ctrl+B加粗、Ctrl+U下划线等
可缩放文字,Ctrl+滚轮
Tab可调整为4个空格,右键-段落-选项卡-制表符宽度

可通过
为多行增减缩进。等等方便编程的功能。
记事本
优点:可在任务栏显示显示当前行列号
可用Ctrl+G跳转到指定行,方便根据调试信息快速定位。

有F5插入 当前日期等快捷键,但快捷键功能较弱。
缺点是无法调整Tab长度,只能默认8个空格等。
命令行
因为手写简短的代码,就省略了名称空间、public等信息,怎么简单怎么写。

using System;
class Test
{
public static void Main()
{
Console.WriteLine("Hello World!");
}
}
cmd命令行输入csc 1.cs 即可编译,在本目录下生成1.exe可执行文件

生成WinForm窗体
简短的代码生成Windows窗体
using System;
using System.Windows.Forms;
class Form1 : Form
{
public static void Main()
{
Application.Run(new Form1());
}
}


为WinForm窗体添加控件和事件响应
using System;
using System.Windows.Forms;
class Form1 : Form
{
Button button1 = new Button();//声明控件
Form1()
{
Controls.Add(button1);//添加控件
this.Text = "窗体标题";
button1.Text = "按钮";
button1.Click += ClickButton1;//绑定按钮事件
}
void ClickButton1(object sender, EventArgs e)//注意事件的2个参数
{
MessageBox.Show("弹出信息");
}
public static void Main()//入口函数
{
Application.Run(new Form1());
}
}

GDI
赤手空拳编写C#代码的更多相关文章
- [转]通过Visual Studio为Linux编写C++代码
Build 2016大会上Microsoft首次公布的Visual Studio 2015扩展提供了在VS2015中编写C++代码,随后通过Linux/UNIX计算机进行编译和执行的能力.这种想法非常 ...
- 基于CkEditor实现.net在线开发之路(2)编写C#代码,怎么调用它。
上一章简约的介绍了CkEditor编辑器,可以编辑js逻辑代码,css,html,C#代码,这章我根据实际例子,讲解怎么编写C#代码和怎么调用它. 大家都还记得刚刚接触程序编时的hello Word吧 ...
- 解决VS2012编写JQuery代码不能智能提示的问题(其他js库的代码提示设置估计类似)
VS默认设置下编写jQuery代码是这样的: 解决办法: 1.在项目的"管理NuGet程序包"中安装JQuery: 2.打开:工具 -> 选项 -> 文本编辑器 -&g ...
- JNI技术基础(2)——从零开始编写JNI代码
书接上文: <JNI技术基础(1)——从零开始编写JNI代码> 2.编译源程序HelloWorld.java并生成HelloWorld.class 3.生成头文件HelloWorld.h ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
- AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码
AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 Wa ...
- mvn编写主代码与测试代码
maven编写主代码与测试代码 3.2 编写主代码 项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包.默认情况下,Maven假设项目 ...
- [JS进阶] 编写可维护性代码 (1)
今天的web应用大至成千上万行的javascript代码,执行各种复杂的过程,这种演化让我们开发者必须得对可维护性有一定的认识!编写可维护性代码很重要,很多情况下我们是以他人的工作成果为基础,确保代码 ...
- Java认证:JavaRunnable线程编写接口代码
Java认证:JavaRunnable线程编写接口代码.JavaRunnable线程如何才能更好的适应目前的编程环境呢?下面我们就看看如何才能更好的进行相关环境.希望下面的文章对大家有所帮助.Java ...
随机推荐
- HTML-002-弹出对话框
日常的网页编程中,弹出对话框经常会以各种形式出现,例如:信息提示框.确认框.新增.修改信息等对话框均是其不同的表现形式. 此文以弹出信息新增对话框进行简要演示,经请参阅! 以下为其对应的结构目录: a ...
- C# base和this
• 是否可以在静态方法中使用base和this,为什么? • base常用于哪些方面?this常用于哪些方面? • 可以base访问基类的一切成员吗? • 如果有三层或者更多继承,那么最下级派生类的b ...
- java版本区别
java版本区别 点我,点我,Eclipse几个版本号的区别(part1) 点我,点我,Eclipse几个版本号的区别(part2) 点我,点我,Eclipse几个版本号的区别(part3)
- 30天,O2O速成攻略【7.18广州站】
活动概况 时间:2015年07月18日13:30-16:30 地点:贝塔咖啡(新港中路TIT创意园内创意西路07号楼) 主办:APICloud.七牛.洪海网络 网址:www.apicloud.com ...
- 解决MyEclipse吃内存以及卡死的方法
前言:MyEclipse5.5 大小 139M:MyEclipse6.5 大小 451M:MyEclipse7.0 大小 649M!下载服务器又是国外的...下载速度累人也就罢了,只要你工作性能一流. ...
- WordPress小工具开发教程(网站公告)
WordPress小工具开发教程(网站公告) BY TIANQIXIN · 2012 年 12 月 26 日 wordpress主题小工具,可以自由拖动到侧边栏,并在前台实现相应功能!一般自带的小 ...
- ORA-19693: 已包括备份片段
使用rman异机恢复数据时,报"ORA-19693: 已包括备份片段..."错误. 执行的rman命令: RMAN> run{ 2> allocate channel ...
- 到底UDP和TCP是什么个概念?
今天在论坛看到一牛人对tcp和udp的解释和区分,突然间恍然大悟. 以下全为拷贝. 在现实生活中,“要想富,先修路”:同时人总要“居有定所”,于是盖起了N多的房子.但是当你和同事商量好去做客的时候却发 ...
- jQuery uploadify上传文件404,500错误
1.如果部署到了IIS7的话,IIS7默认的大小为3000000.修改方法如下: 找到网站双击“请求筛选”——右边找到“编辑功能设置”——将“允许的最大内容长度”改成你想要的就行了. 2.当上传大文件 ...
- ImportError: No module named setuptools
Python第三方模块中一般会自带setup.py文件,在Windows环境下,我们只需要使用命令 cd c:\Temp\foo python setup.py install 两个命令就可以完成第三 ...