public void ProcessItem(UserItem[] inventory) { for (int i = 0; i < Info.ItemTasks.Count; i++) { long count = inventory.Where(item => item != null). Where(item => item.Info == Info.ItemTasks[i].Item). Aggregate<UserItem, long>(0, (current, item) => current + item.Count); ItemTaskCount[i] = count; } }