Добавить значения к элементам массива - PullRequest
0 голосов
/ 16 июня 2020

Может ли кто-нибудь предоставить мне более эффективный способ сделать следующее:

int[] result = { 0, 0 };
foreach(var group in operatorsGroups)
{
    int[] added = { 0, 0 };
    added = somefunction(group);
    result[0] += added[0];
    result[1] += added[1];
}
return result;

Примерно так:

int[] result = { 0, 0 };
foreach(var group in operatorsGroups)
{       
    result += somefunction(group);       
}
return result;

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Если вы выполняете более тяжелую работу на каждой итерации, вы можете использовать многопоточную или асинхронную c концепцию ожидания.

    int[] result = { 0, 0 };   
     Parallel.ForEach(operatorsGroups, group =>
        {
            int[] added = { 0, 0 };
            added = somefunction(group);
            result[0] += added[0];
            result[1] += added[1];
        });
   return result;
0 голосов
/ 16 июня 2020

Сокращение строк кода с помощью LINQ:

List<int> items = activeList.Split(',').Select(n => Convert.ToInt32(n)).ToList();
int itemToAdd = ddlDisabledTypes.SelectedValue.ToInt(0);
items.Add(itemToAdd);

// If you want to see it as an actual array you can still use ToArray
int[] itemsAsArray = items.ToArray();

From C# LINQ добавляет элемент в конец массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...