程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 簡單的在線C# IDE例子(1)

簡單的在線C# IDE例子(1)

編輯:關於C語言

五一時去朋友那, 他問了個小問題, 只要寫幾十行代碼就可以很好的說明問題.可偏偏機子沒裝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
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved