当前位置: 首页>>代码示例>>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;未经允许,请勿转载。