Облачные функции Google теперь позволяют отправлять push-уведомления с устройства на устройство без сервера приложений.
На соответствующей странице в облачных функциях Google:
Разработчики могут использовать функции облака, чтобы пользователи могли общаться и получать актуальную информацию о приложении. Рассмотрим, например, приложение, которое позволяет пользователям следить за действиями друг друга в приложении. В таком приложении функция, инициированная записью базы данных Realtime для хранения новых подписчиков, может создавать уведомления Firebase Cloud Messaging (FCM), чтобы сообщить соответствующим пользователям, что они получили новых подписчиков.
Пример:
blockquote>
- Функция запускает запись в путь базы данных Realtime, где хранятся последователи.
- Функция составляет сообщение для отправки через FCM.
- FCM отправляет уведомление сообщение на устройство пользователя.
Вот демонстрационный проект для отправки push-уведомлений устройства на устройство с помощью Firebase и облачных функций Google.
При использовании Списка <>, можно использовать.AddRange для добавления одного списка к другому списку.
Или можно использовать возврат урожая для объединения списков на лету как это:
public IEnumerable<string> Combine(IEnumerable<string> col1, IEnumerable<string> col2)
{
foreach(string item in col1)
yield return item;
foreach(string item in col2)
yield return item;
}
Вы могли бы хотеть смотреть на Iesi. Наборы и Расширенный Универсальный Iesi. Наборы (потому что первый выпуск был сделан в 1,1, когда еще не было никаких дженериков).
Расширенный Iesi имеет класс ISet, который действует точно как HashSet: это осуществляет уникальных участников и не позволяет дубликаты.
Изящная вещь о Iesi состоит в том, что он установил операторы вместо методов для слияния наборов, таким образом, у Вас есть выбор между объединением (|), пересечение (и), XOR (^) и т.д.
Я думаю HashSet<T>
большая справка.
HashSet<T>
класс обеспечивает высокопроизводительные операции присвоения. Набор является набором, который не содержит дублирующихся элементов, и чьи элементы без определенного порядка.
Просто добавьте объекты к нему и затем используйте CopyTo.
Обновление: HashSet<T>
находится в.Net 3.5
Возможно, можно использовать Dictionary<TKey, TValue>
. Устанавливание дублирующегося ключа к словарю не повысит исключение.
Можно ли передать Набор в Вас метод refernce так, чтобы можно было просто добавить объекты к нему, тот способ, которым Вы ничего не должны возвращать. Это - то, на что могло бы быть похожим, сделали ли Вы это в c#.
class Program
{
static void Main(string[] args)
{
Collection<string> myitems = new Collection<string>();
myMthod(ref myitems);
Console.WriteLine(myitems.Count.ToString());
Console.ReadLine();
}
static void myMthod(ref Collection<string> myitems)
{
myitems.Add("string");
if(myitems.Count <5)
myMthod(ref myitems);
}
}
Как Установленный @Zooba, Проходящим мимо касательно, не необходимо здесь, если Вы передающий значением он будет также работать.
Насколько слияние идет:
Интересно, там более эффективный способ иметь рекурсивную функцию, которая возвращает список строк без дубликатов? Я не должен использовать Набор, это может быть в значительной степени любой подходящий тип данных.
Ваша функция собирает возвращаемое значение, правильно? Вы разделяете предоставленный список в половине, вызывая сам снова (дважды) и затем объединяя те результаты.
Во время шага слияния, почему не только проверяют перед добавлением каждой строки к результату? Если это уже там, пропустите его.
Принятие Вы работаете с отсортированными списками, конечно.