當前位置: 首頁>>代碼示例>>C#>>正文


C# List.ToReadOnlyCollection方法代碼示例

本文整理匯總了C#中Model.List.ToReadOnlyCollection方法的典型用法代碼示例。如果您正苦於以下問題:C# List.ToReadOnlyCollection方法的具體用法?C# List.ToReadOnlyCollection怎麽用?C# List.ToReadOnlyCollection使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Model.List的用法示例。


在下文中一共展示了List.ToReadOnlyCollection方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: GetChatUsers

        /// <summary>
        /// Позволяет получить список пользователей мультидиалога по его id.
        /// </summary>
        /// <param name="chatIds">Идентификаторы бесед. список целых чисел, разделенных запятыми (Список целых чисел, разделенных запятыми).</param>
        /// <param name="fields">Список дополнительных полей профилей, которые необходимо вернуть.
        /// Доступные значения: nickname, screen_name, sex, bdate, city, country, timezone, photo_50, photo_100, photo_200_orig, has_mobile, contacts, education, online, counters, relation, last_seen, status, can_write_private_message, can_see_all_posts, can_post, universities список строк, разделенных через запятую (Список строк, разделенных через запятую).</param>
        /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя. Возможные значения: именительный – nom, родительный – gen, дательный – dat, винительный – acc, творительный – ins, предложный – abl. По умолчанию nom. строка (Строка).</param>
        /// <returns>
        /// После успешного выполнения возвращает список идентификаторов участников беседы.
        /// Если был задан параметр fields, возвращает список объектов пользователей с дополнительным полем invited_by, содержащим идентификатор пользователя, пригласившего в беседу.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте <see href="http://vk.com/dev/messages.getChatUsers" />.
        /// </remarks>
        public ReadOnlyCollection<User> GetChatUsers(IEnumerable<long> chatIds, UsersFields fields, NameCase nameCase)
        {
            var parameters = new VkParameters {

                { "chat_ids", chatIds },
                { "fields", fields },
                { "name_case", nameCase }
            };

            var response = _vk.Call("messages.getChatUsers", parameters);

            var list = new List<User>();

            foreach ( var chatId in chatIds )
            {
                var chatResponse = response[chatId.ToString()];
                var users = chatResponse.ToReadOnlyCollectionOf(x => fields != null ? x : new User { Id = (long) x });

                foreach ( var user in users )
                {
                    bool exist = list.Exists(first => first.Id == user.Id);
                    if ( !exist )
                        list.Add(user);
                }
            }

            return list.ToReadOnlyCollection();
        }
開發者ID:vknet,項目名稱:vk,代碼行數:42,代碼來源:MessagesCategory.cs


注:本文中的Model.List.ToReadOnlyCollection方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。