UPDATED
Вот набор общих функций (требуется .net 3.5 или выше) для разных сценариев. Выходы предназначены для списка {1, 2, 3, 4} и длины 2.
Перестановки с повторением
static IEnumerable<IEnumerable<T>>
GetPermutationsWithRept<T>(IEnumerable<T> list, int length)
{
if (length == 1) return list.Select(t => new T[] { t });
return GetPermutationsWithRept(list, length - 1)
.SelectMany(t => list,
(t1, t2) => t1.Concat(new T[] { t2 }));
}
Выход:
{1,1} {1,2} {1,3} {1,4} {2,1} {2,2} {2,3} {2,4} {3,1} {3,2} {3,3} {3,4} {4,1} {4,2} {4,3} {4,4}
Перестановки
static IEnumerable<IEnumerable<T>>
GetPermutations<T>(IEnumerable<T> list, int length)
{
if (length == 1) return list.Select(t => new T[] { t });
return GetPermutations(list, length - 1)
.SelectMany(t => list.Where(o => !t.Contains(o)),
(t1, t2) => t1.Concat(new T[] { t2 }));
}
Выход:
{1,2} {1,3} {1,4} {2,1} {2,3} {2,4} {3,1} {3,2} {3,4} {4,1} {4,2} {4,3}
K-комбинации с повторением
static IEnumerable<IEnumerable<T>>
GetKCombsWithRept<T>(IEnumerable<T> list, int length) where T : IComparable
{
if (length == 1) return list.Select(t => new T[] { t });
return GetKCombsWithRept(list, length - 1)
.SelectMany(t => list.Where(o => o.CompareTo(t.Last()) >= 0),
(t1, t2) => t1.Concat(new T[] { t2 }));
}
Выход:
{1,1} {1,2} {1,3} {1,4} {2,2} {2,3} {2,4} {3,3} {3,4} {4,4}
K-комбинации
static IEnumerable<IEnumerable<T>>
GetKCombs<T>(IEnumerable<T> list, int length) where T : IComparable
{
if (length == 1) return list.Select(t => new T[] { t });
return GetKCombs(list, length - 1)
.SelectMany(t => list.Where(o => o.CompareTo(t.Last()) > 0),
(t1, t2) => t1.Concat(new T[] { t2 }));
}
Выход:
{1,2} {1,3} {1,4} {2,3} {2,4} {3,4}
При выполнении частичного обновления заголовок X-RestLi-Method
должен быть включен в запрос и установлен на PARTIAL_UPDATE
.
Также, если вы используете неявный тип предоставления, проверьте, правильно ли вы определили область действия в начале. Если вы используете учетные данные типа client-credentials, проверьте, есть ли у учетной записи правильные разрешения.
Прямой рекламный контент может быть создан:
Пользователем рекламного аккаунта с ролью выше
blockquote>VIEWER
. Организация пользователей сDIRECT_SPONSORED_CONTENT_POSTER or ADMINISTRATOR roles
.также код, который вы добавили в этом вопросе, предназначен для повторной активации кампании. не для обновления / создания .