最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#執(zhí)行Javascript代碼的幾種方法總結(jié)

 更新時間:2014年01月26日 08:56:35   作者:  
本篇文章主要是對C#執(zhí)行Javascript代碼的幾種方法進行了詳細的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助

一、開源項目 Javascript .NET

地址: http://javascriptdotnet.codeplex.com/ 它是Google Chrome V8引擎在.NET上的封裝,功能完善,性能相對較高,推薦使用! (缺點就是asp.net web應(yīng)用上,好象會報錯)

示例代碼:

復(fù)制代碼 代碼如下:

using Noesis.Javascript;
using System;
using System.Collections.Generic;

namespace JsCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (JavascriptContext ctx = new JavascriptContext())
            {
                var i = ctx.Run("1+2");
                Console.WriteLine(i);//3
                ctx.Run("var d = new Date(2013,9-1,2,20,30,15)");
                var d = ctx.GetParameter("d");
                Console.WriteLine(d);//2013/9/2 20:30:15
                var j = ctx.Run("function add(x,y){return x+y;};add(5,10);");
                Console.WriteLine(j);//15
                ctx.Run("var obj = {};obj.name='jimmy';obj.sex='Male';obj.name='楊俊明'");
                var obj = ctx.GetParameter("obj") as Dictionary<string, object>;
                foreach (var key in obj.Keys)
                {
                    Console.WriteLine(string.Format("{0}:{1}", key, obj[key]));
                    //name:楊俊明
                    //sex:Male
                }
                var jsonArr = ctx.Run("[{Airport:'PEK',Name:'北京首都機場'},{Airport:'XIY',Name:'西安咸陽機場'}]") as Array;
                foreach (var item in jsonArr)
                {
                    var json = item as Dictionary<string, object>;
                    foreach (var key in json.Keys)
                    {
                        Console.WriteLine(string.Format("{0}:{1}", key, json[key]));
                        //Airport:PEK
                        //Name:北京首都機場
                        //Airport:XIY
                        //Name:西安咸陽機場
                    }
                }
                ctx.SetParameter("x", 7);
                ctx.Run("function add(x,y){return x+y;}; function sub(x,y){return x-y;};k = add(2,x);var t = sub(9,1);");
                var k = ctx.GetParameter("k");
                Console.WriteLine(k);//9
                var t = ctx.GetParameter("t");
                Console.WriteLine(t);//8
                Console.Read();
            }

        }

    }
}

部署時要注意,msvcp100.dll、msvcr100.dll這二個文件,要復(fù)制到bin目錄下

二、利用Microsoft.JScript.Vsa

先添加Microsoft.JScript、Microsoft.Vsa二個程序集的引用,然后就能用了,示例代碼如下:

復(fù)制代碼 代碼如下:

using Microsoft.JScript;
using Microsoft.JScript.Vsa;
using System;

namespace JsCSharp
{
    class Program
    {
        static VsaEngine Engine = VsaEngine.CreateEngine();

        static void Main(string[] args)
        {
            var i = (int)EvalJScript("1+2;");
            Console.WriteLine(i);//3
            var d = (DateObject)EvalJScript("var d = new Date(2013,9-1,2,20,30,15)");
            Console.WriteLine(d);//Mon Sep 2 20:30:15 UTC+8 2013
            var j = EvalJScript("function add(x,y){return x+y;};add(5,10);");
            Console.WriteLine(j);//15
            var obj = EvalJScript("var obj = {};obj.name='jimmy';obj.sex='Male';");
            Console.WriteLine(obj);//Male 注:只返回最后一條執(zhí)行的語句結(jié)果
            Console.Read();
        }

 
        static object EvalJScript(string JScript)
        {
            object Result = null;
            try
            {
                Result = Microsoft.JScript.Eval.JScriptEvaluate(JScript, Engine);
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
            return Result;

        }
    }
}

Vsa的功能比較有限,多條語句執(zhí)行時,只返回最后一條語句的執(zhí)行結(jié)果。

相關(guān)文章

  • Unity實現(xiàn)手機搖一搖震動

    Unity實現(xiàn)手機搖一搖震動

    這篇文章主要為大家詳細介紹了untiy實現(xiàn)手機搖一搖震動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C# 實現(xiàn)Eval(字符串表達式)的三種方法

    C# 實現(xiàn)Eval(字符串表達式)的三種方法

    這篇文章主要介紹了C# 實現(xiàn)Eval(字符串表達式)的三種方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C#實現(xiàn)電腦麥克風(fēng)錄音

    C#實現(xiàn)電腦麥克風(fēng)錄音

    這篇文章主要為大家詳細介紹了C#實現(xiàn)電腦麥克風(fēng)錄音,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • c#讀取XML多級子節(jié)點

    c#讀取XML多級子節(jié)點

    本文主要介紹了c#讀取XML多級子節(jié)點的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • WPF TextBox水印效果制作方法詳解

    WPF TextBox水印效果制作方法詳解

    這篇文章主要為大家詳細介紹了WPF TextBox水印效果的制作方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • C#難點逐個擊破(8):可空類型System.Nullable

    C#難點逐個擊破(8):可空類型System.Nullable

    null值用來表示數(shù)據(jù)類型未被賦予任何值,它是一種引用類型;void表示沒有類型,或者說是沒有任何值。null與void的區(qū)別可以認為void是根本沒有,而null是一個空箱子,里面什么都沒有。
    2010-02-02
  • C#實現(xiàn)自定義光標并動態(tài)切換

    C#實現(xiàn)自定義光標并動態(tài)切換

    這篇文章主要為大家詳細介紹了如何利用C#語言實現(xiàn)自定義光標、并動態(tài)切換光標類型,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-07-07
  • C#中創(chuàng)建統(tǒng)一API接口的實現(xiàn)方案

    C#中創(chuàng)建統(tǒng)一API接口的實現(xiàn)方案

    在 C# 中創(chuàng)建統(tǒng)一 API 接口需要從架構(gòu)設(shè)計、技術(shù)選型和代碼實現(xiàn)等多個層面進行規(guī)劃,本文給大家詳細介紹了實現(xiàn)方案和完整示例代碼,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-04-04
  • winform分頁控件 附源碼下載

    winform分頁控件 附源碼下載

    這篇文章主要介紹了winform分頁控件,文中附源碼下載地址,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決思路詳解

    在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決思路詳解

    這篇文章主要介紹了在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決過程的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11

最新評論

小金县| 西青区| 丹江口市| 长垣县| 华宁县| 连城县| 信宜市| 宜宾县| 海淀区| 沭阳县| 广汉市| 乌鲁木齐市| 喀什市| 卓尼县| 江西省| 沭阳县| 桦川县| 黄骅市| 荆门市| 桓台县| 北票市| 汽车| 兰坪| 罗城| 鸡泽县| 林西县| 裕民县| 苍南县| 荥经县| 惠东县| 航空| 绥化市| 疏勒县| 启东市| 灵寿县| 马关县| 石楼县| 灵台县| 墨江| 德清县| 信宜市|