В чем смысл этого кода? - PullRequest
1 голос
/ 24 июня 2011

Хорошо, я задал этот вопрос и получил отличный пример кода в качестве ответа. Код работает, но я не понимаю смысл кода. Может кто-нибудь указать мне направление для дальнейшего чтения, чтобы понять код. Вот код, который возвращает отмеченный переключатель в групповом окне:

Dim rButton As RadioButton = GroupBox1.Controls _
    .OfType(Of RadioButton)() _
    .Where(Function(r) r.Checked = True) _
    .FirstOrDefault()

Хорошо, части, которые я не понимаю, .OfType, .Where, .FirsrOrDefault

UPDATE:

Спасибо, ребята, эти вещи LINQ

Ответы [ 4 ]

7 голосов
/ 24 июня 2011

Код почти точно читает, что он делает: из элементов управления на GroupBox1, которые имеют тип RadioButton, возьмите те, где установлен переключатель, и затем возьмите первый (или null, если есть).

На простом английском языке среди всех переключателей в групповом поле найдите первый отмеченный или верните null, если их нет.

Методы взяты из LINQ .

6 голосов
/ 24 июня 2011

Этот код выбирает первый отмеченный переключатель в группе кнопок.Давайте пройдемся по коду:

  1. Dim rButton As RadioButton = GroupBox1.Controls _

    Выберите группу элементов управления формы

  2. OfType(Of RadioButton)() _

    Но только радио-кнопки из этой группы

  3. Where(Function(r) r.Checked = True) _

    , которые уже проверены

  4. .FirstOrDefault()

    Возвращает первый или NULL, если ни один не отмечен.

3 голосов
/ 24 июня 2011

Это LINQ API для VB.По сути, каждый из упомянутых вами методов является селектором и возвращает результаты запроса.Проверьте эту страницу для тонны примеров:

2 голосов
/ 24 июня 2011

По сути, он проходит через элементы управления в GroupBox1, которые имеют OfType radiobutton и Где они проверены, получая результат Первый или По умолчанию/ Нет , если нет результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...