赤手空拳编写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#代码,码迷,mamicode.com

时间: 2024-10-01 03:16:12

赤手空拳编写C#代码的相关文章

实时显示iOS编写UI代码效果

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码.采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度.但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突.多人协作开发还不是主要问题,有人提出可以创建多个Storyboard来分开UI编写,而Storyboard/Xib最主要问题是代码复用性比较差.所以有些

第1课第4.4节_Android硬件访问服务编写HAL代码

4 编写HAL代码 源码下载方法 第一次: git clone https://github.com/weidongshan/SYS_0001_LEDDemo.git 更新: git pull origin 取出指定版本: git checkout v1 // 有JNI没有HAL git checkout v2 // 有JNI,HAL git checkout v3 // add MODULE TAG, DEVICE TAG JNI 向上提供本地函数, 向下加载HAL文件并调用HAL的函数HAL

JNI技术基础(2)——从零开始编写JNI代码

书接上文: <JNI技术基础(1)——从零开始编写JNI代码> 2.编译源程序HelloWorld.java并生成HelloWorld.class 3.生成头文件HelloWorld.h 在Linux控制台输入命令:javah –jni HelloWorld 生成HelloWorld.h头文件 //HelloWorld.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header

编写css代码的方式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- html 在一个网页中负责的事情是一个页面的结构 c

C#和JAVA中编写事务代码

C#  DAL层代码,执行多条增删改,使用事务操作: /// <summary> /// 执行 多条增删改 (非查询语句) /// </summary> /// <param name="strSql"></param> /// <param name="paras"></param> /// <returns></returns> public static int E

对编写html代码的几点儿小建议

1.DOCTYPE说明:告诉浏览器要使用哪种规范来解释该文档内容: <!DOCTYPE html PUBLIC "-W3//DTD//XHTML 1.0  Transitional//EN"  "http://www.w3.org/1999/xhmlt"> 解释:-W3:w3标准:DTD:文档类型定义: XHTML 1.0:XHTML 1.0版本:Transitional:过渡模式(Strict:严格模式):EN:语言为英语: "http://

以优美方式编写JavaScript代码

英文原文:CoffeeScript: The beautiful way to write JavaScript 我用 JavaScript 编程很多年了,写了大量的 JavaScript 代码,即便是我这样的经历,但我仍然还在努力地去写出更优美的 JavaScript 代码,在这篇文章中,我将探索为什么写出漂亮的 JavaScript 代码是如此困难,如何使用CoffeScript(一种简约且能编译成 JavaScript 的语言)改善它. 什么是优美的代码? 我想从个人观点来声明如何定义优美

如何编写go代码

1:代码组织 go开发者通常将所有的go代码放在一个单独的workspace中.一个workspace可以包含多个版本控制库(比如git),每一个库包含若干package,每个package就是包含一个或多个go源码文件的目录:package目录的路径决定他的引用路径: workspace下通常有3个子目录:src包含go源码文件:pkg包含package对象:bin包含可执行程序.go编译时,构建src中的go源码,并将编译后的二进制文件安装到pkg和bin中: 下面是一个workspace的

不要将时间浪费到编写完美代码上(转)

add by zhj:文章主要说的是代码会经常变化,追求完美只会浪费更多时间. (英文:DZone,译者:raygodlee) 不要将时间浪费到编写完美代码上,原因就在于一个系统的迭代开发可能持续运行5年至10年甚至是20年,而某行代码甚至某个设计的生命周期则要短很多,只有几个月或者几天.所以说有没有必要将大量时间花在写代码上? 一个系统的迭代开发可能持续运行5年至10年甚至是20年.相比之下,某行代码甚至某个设计的生命周期则要短很多,只有几个月或者几天,甚至当你为了解决一个问题迭代测试不同方案