五一时去朋友那, 他问了个小问题, 只要写几十行代码就可以很好的说明问题.可偏偏机子没装VS, 只好做罢.回来后想想, 要是有个在线的C#IDE就好了.于是上网查了下相关的资料, 整出来个简单的在线C#IDE.
做这个,主要要解决两个问题, 一是如果将网页上文本框的代码编译并执行;二是如果将程序运行结果在网页上输出.
第一个问题不难, .NET已经有现成的C#编译类CSharpCodeProvider(或是其它语言的),再使用CompilerParameters类做为编译参数,就可以很容易的实现.
第二个问题, 举最简单情况, 就是将Console.Write方法输出的内容在网页上显示出来.这其实也很好办,只要在编译之前, 在输出语句做一个替换, 将输出的内容存到另一个地方.等运行结束后, 再从那个地方取出来就是了.
代码实现如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace VSOnline.Framework{ /**//// <summary> /// 自定义的输出类 /// </summary> public class Consoler { //存储所有输出 public static Dictionary<string, Consoler> Outputs { get; set; } static Consoler() { Outputs = new Dictionary<string, Consoler>(); } 输出操作#region 输出操作 //当前输出 public List<string> Output { get; private set; } public Consoler() { Output = new List<string>(); } public void Write(object str) { Output.Add(str.ToString()); } public void WriteLine(object str) { Output.Add(str.ToString() + "\n"); } #endregion }}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 问题
, 编译
, system
, 在线编译
, public
输出
简单的逻辑学在线阅读、投资中最简单的事在线、简单的艺术 在线阅读、简单的密室逃脱在线玩、简单的在线报名系统,以便于您获取更多的相关知识。