Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery到C中的grep#_Javascript_C#_Json - Fatal编程技术网

Javascript JQuery到C中的grep#

Javascript JQuery到C中的grep#,javascript,c#,json,Javascript,C#,Json,我用Javascript/jQuery编写了一段代码,用于搜索项目列表。grep是否存在于C#中,还是有更好的方法 var items; var itemCount = 0; var result = $.grep(items, function (v, i) { //change title and description to lowercase to match search lowerCaseTitle = v.title.toLowe

我用Javascript/jQuery编写了一段代码,用于搜索项目列表。grep是否存在于C#中,还是有更好的方法

var items;
var itemCount = 0; 

var result = $.grep(items, function (v, i) {
            //change title and description to lowercase to match search
            lowerCaseTitle = v.title.toLowerCase();
            lowerCaseDesc = v.description.toLowerCase();
            if (lowerCaseTitle.indexOf(lowerCaseSearch) > -1 || lowerCaseDesc.indexOf(lowerCaseSearch) > -1) {
                var newLI = createLI(i, v.title);
                $('#searchResults').append(newLI);
                itemCount++;
            }
            return v;
        });

我想我只是想搜索我使用JSONTextWriter创建的JSON字符串。它输入每个项目的id、标题和说明。如果标题或说明(或标题/说明的子集)与传递的搜索词匹配,请将其添加到另一个列表中

在C#中没有
grep
方法,但是有LINQ
Where
方法用于相同的目的。我认为解析JSON的最佳选择是使用。因此,您的代码可能如下所示:

var json = "YOUR JSON ARRAY";
var searchTerm = "SEARCH TERM";

var jarray = JArray.Parse(json);
var searchResults = jarray
    .Where(x =>
        x["title"].Value<string>().ToLower().Contains(searchTerm) ||
        x["description"].Value<string>().ToLower().Contains(searchTerm))
    .ToList();

这不是普通的javascript,而是一个jquery函数。此外,您可以比较这两个函数的源代码,看看它是否以相同的方式工作?在哪里?我会使用LINQ Js,在一些项目中使用过它,效果非常好,特别是如果你从C#熟悉它:这是完美的。我将完全传入json和searchTerm,然后使用JArray。谢谢
x => x["title"].Value<string>().IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase) >= 0