【发布时间】:2013-07-21 02:04:39
【问题描述】:
我有一个名为melter的自定义数据类型列表。
melter 中与过滤器有关的两件事是:
- 已删除
- 描述
我这样获取/声明我的列表:
// Return all the melters
var melterslist = ServiceManager.ListStandingDataValues(StandingDataType.melters);
var meltersActive = new List<IMelters>();
foreach (var m in melterslist)
{
if (m.Deleted == false && m.desc.ToUpper().Contains(input))
{
meltersActive.Add(m);
}
}
var json = new { MelterNames = new List<object>() };
foreach (var m in meltersActive)
{
json.meltersNames.Add(
new
{
Name = m.Description,
Value = m.Id
}
);
}
return json;
但我认为对upper 和contains 进行操作会花费我很多处理时间,因为列表大小> 1000。
然后每次我认为也杀死它时将其转换为 JSON。
在 jQuery 自动完成字段中使用 JSON 时,每分钟可以点击 3/4 次。
谁能推荐一种更好的方法,即 LINQ 查询?
谢谢
【问题讨论】:
-
你在
StringComparison.InvariantCultureIgnoreCase之后吗? 编辑或meltersList.Where(m => !m.Deleted... -
是的,从某种意义上说,但更多的是寻找关于整个字符串比较和转换为 JSON 的最佳优化方式的建议
-
抱歉,没有Visual Studio很难做例子
标签: c# string list optimization filter