List<string> allApps = new List<string>();
roster = MURLEngine.GetUserFriendDetails(token, userId);
var usersfriends = from elements in roster.RosterEntries
where elements[0] == 'm' && elements[1] >= '0' && elements[1] <= '9'
select elements;
foreach (string userid in usersfriends)
{
roster = MURLEngine.GetUserFriendDetails(token, userid);
var usersapps = from elements in roster.RosterEntries
where elements[0] != 'm'
select elements;
allApps.AddRange(usersapps);
allApps = allApps.Distinct().ToList();
}
int countapps = 0;
List<string> Appname = new List<string>();
countapps = appList.Count();
for (int y = 0; y < countapps; y++)
{
foreach (string li in allApps) //
{
bool istrueapp = appList.ElementAt(y).AppName.Equals(li);
if (istrueapp == true)
{
Appname.Add(appList.ElementAt(y).AppName);
}
}
}
上記のコードでは、最初に文字列のリスト、つまりusersfriendsを取得し、次にそれらのIDに基づいて、ユーザーのアプリのリストを取得し、すべてのユーザーのすべてのアプリを別のリスト、つまりallAppsに追加しているため、プロセス全体が遅くなりますリストを使用してこれを実行するには、約 20 秒かかります。HashSet と SortedSet も使用しようとしましたが、さらに遅くなりました。
私の質問は、このシナリオでどのデータ構造を使用する必要があるかです??
本当に助かります