<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        利用noesis.Javascript開源組件.Net中執行javascript腳本

        來源:懂視網 責編:小采 時間:2020-11-27 22:40:22
        文檔

        利用noesis.Javascript開源組件.Net中執行javascript腳本

        利用noesis.Javascript開源組件.Net中執行javascript腳本:界面如下: 然后,click filter button后的UI: 看,篩選出來了,代碼如下(js能調C#寫的UserInfo類的各個屬性) 代碼如下:public class UserInfo { public string FirstName { get; set; } public string LastNam
        推薦度:
        導讀利用noesis.Javascript開源組件.Net中執行javascript腳本:界面如下: 然后,click filter button后的UI: 看,篩選出來了,代碼如下(js能調C#寫的UserInfo類的各個屬性) 代碼如下:public class UserInfo { public string FirstName { get; set; } public string LastNam

        界面如下:

        然后,click filter button后的UI:

        看,篩選出來了,代碼如下(js能調C#寫的UserInfo類的各個屬性)

        代碼如下:
        public class UserInfo
            {
                public string FirstName { get; set; }
                public string LastName { get; set; }
                public int Age { get; set; }
                public override string ToString()
                {
                    return string.Format("{0}, {1}: {2}", FirstName, LastName, Age);
                }
            }

        private void btnSearch_Click(object sender, EventArgs e)
                {
                    List<UserInfo> users = FilterUsers(txtFilter.Text.Trim());
                    lstUsers.DataSource = users;
                }

                private List<UserInfo> FilterUsers(string jsFilter)
                {
                    List<UserInfo> results = new List<UserInfo>();
                    if (jsFilter.Trim().Length == 0)
                        return this.users;

                    try
                    {
                        using (JavascriptContext context = new JavascriptContext())
                        {
                            foreach (UserInfo user in this.users)
                            {
                                context.SetParameter("user", user);
                                context.SetParameter("isInclude", false);
                                string js = string.Format(@"
                                                        if({0})
                                                            isInclude=true;
                                                        else
                                                            isInclude=false;", jsFilter);
                                context.Run(js);
                                bool isInclude = (bool)context.GetParameter("isInclude");
                                if (isInclude)
                                    results.Add(user);
                            }
                        }
                    }
                    catch
                    {
                        txtFilter.Focus();
                        txtFilter.SelectAll();
                        return this.users;
                    }

                    return results;
                }

        我們來看看效率:

        代碼如下:
        private void btnTest_Click(object sender, EventArgs e)
                {
                    using (JavascriptContext context = new JavascriptContext())
                    {
                        Stopwatch sw = new Stopwatch();
                        sw.Start();
                        int i=1000000;
                        while(i-- > 0)
                        {
                            context.SetParameter("ii", 1);
                            context.SetParameter("jj", 2);
                            context.SetParameter("sum", 0);
                            string js = string.Format(@"sum=ii+jj;");
                            context.Run(js);
                            int sum = (int)context.GetParameter("sum");
                        }
                        sw.Stop();

                        long useJS_Total = sw.ElapsedMilliseconds;
                        float useJS_Average = ((float)sw.ElapsedMilliseconds) / 1000000;

                        sw.Reset();
                        sw.Start();
                        i = 1000000;
                        while (i-- > 0)
                        {
                            int ii = 1;
                            int jj = 2;
                            int sum = 0;
                            sum = ii + jj;
                        }
                        sw.Stop();

                        long nouseJS_Total = sw.ElapsedMilliseconds;
                        float nouseJS_Average = ((float)sw.ElapsedMilliseconds) / 1000000;

                        string msg = "";
                        msg += string.Format("useJS_Total: {0}\r\n", useJS_Total);
                        msg += string.Format("useJS_Average: {0}\r\n\r\n\r\n", useJS_Average);
                        msg += string.Format("nouseJS_Total: {0}\r\n", nouseJS_Total);
                        msg += string.Format("nouseJS_Average: {0}\r\n\r\n\r\n", nouseJS_Average);

                        MessageBox.Show(msg);
                    }
                }

        結果(上面的是通過js引擎計算的時間、下面的是純C#計算時間,悲劇啊):這個Noesis.Javascript只適用于性能要求不高的場合

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        利用noesis.Javascript開源組件.Net中執行javascript腳本

        利用noesis.Javascript開源組件.Net中執行javascript腳本:界面如下: 然后,click filter button后的UI: 看,篩選出來了,代碼如下(js能調C#寫的UserInfo類的各個屬性) 代碼如下:public class UserInfo { public string FirstName { get; set; } public string LastNam
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产精品日韩| 成年女性特黄午夜视频免费看| 色爽黄1000部免费软件下载| 一个人免费观看视频在线中文| 免费人成视频在线观看视频| 色天使亚洲综合一区二区| 99在线免费观看视频| 久久青青草原亚洲AV无码麻豆| 中国国产高清免费av片| 国产V亚洲V天堂A无码| 日本视频免费高清一本18| 搡女人免费视频大全| 亚洲国产精品18久久久久久| 国产麻豆免费观看91| 亚洲精品无码MV在线观看| 久久免费线看线看| 婷婷综合缴情亚洲狠狠尤物| 亚洲六月丁香六月婷婷色伊人| 2020久久精品国产免费| 亚洲AV无码专区在线观看成人| 国产午夜影视大全免费观看| 亚洲色图视频在线观看| 国产精品一区二区三区免费| 成年性生交大片免费看| 免费在线人人电影网| 国产日产成人免费视频在线观看| 羞羞漫画在线成人漫画阅读免费| 亚洲精品国产自在久久| 一级毛片免费观看不卡视频| 亚洲一区二区三区在线观看蜜桃| 国产免费观看视频| 暖暖在线视频免费视频| 亚洲综合一区无码精品| 全免费毛片在线播放| 亚洲最新在线视频| 99爱在线观看免费完整版| 亚洲综合一区二区三区四区五区| 狠狠亚洲婷婷综合色香五月排名| 中文字幕成人免费视频| 国产大陆亚洲精品国产| 久久精品国产99精品国产亚洲性色|