Bor*_*ens 5 .net c# optimization
我有一组字符串(~80 000)我只能通过hits.Doc(int).Get("fieldName")方法顺序访问.
List<string> idStrings = new List<string>();
int count = hits.Length();
for (int i = 0; i < count; i++)
{
string idString = hits.Doc(i).Get("id");
if (!idStrings.Contains(idString))
idStrings.Add(idString);
}
Run Code Online (Sandbox Code Playgroud)
稍后的字符串必须是int.TryParse()'d.我认为应该有更快的方法来做到这一点.有什么建议?
ybo*_*ybo 13
首先,使用一个Hashset<string>而不是一个列表,Contains方法会更快:
int count = hits.Length();
Hashset<string> idStrings = new Hashset<string>();
Run Code Online (Sandbox Code Playgroud)
编辑:如果您使用Hashset,则不必调用"Contains",因为它不能包含重复项.只需使用添加,它将自动删除重复的值.
| 归档时间: |
|
| 查看次数: |
3901 次 |
| 最近记录: |