本文整理汇总了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();
}