Что такое оператор: = "в (VB).NET или для чего он хорош?

Я вижу это время от времени и хочу знать, что это такое. Я попробовал Google, но он отфильтровывал символы из поиска. У меня есть несколько книг, которые тоже не ссылаются на нее.

FWIW, я помню, что в pascal был оператор присваивания.

Может ли кто-нибудь указать мне на MSDN или аналогичную страницу?

Ответ 1

Вы можете использовать синтаксис: =, чтобы назначать параметры Sub или Function по имени, а не строго по положению. Например:

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TestRoutine(Y:="TestString", X:=12)
    End Sub

    Private Sub TestRoutine(ByVal X As Long, Optional Y As String = "")
        ' Do something with X and Y here... '
    End Sub

End Class

Обратите внимание, что TestRoutine указывает X как первый параметр, а Y - второй, но вызов в Form1_Load имеет их в обратном порядке, называя каждый параметр оператором: =.

Здесь ссылка на статью MSDN по теме:

http://msdn.microsoft.com/en-us/library/51wfzyw0.aspx

Я не вижу, что это используется очень часто, за исключением макросов VBA, созданных макрокомандером Excel, который использует его много.

Ответ 2

Это действительно полезно, когда есть несколько необязательных параметров - вы видите, что много кода, вызывающего в моделях офисных объектов - Word, Excel и т.д. Когда у вас есть 40 параметров, из которых 37 из них являются необязательными, и вы хотите установить значения для параметров 34 и 40, более ясный лот: =, чем для вызова функции ( "new", "settings", 1,,,,,,,,,,,,,,, 43, 2,,, 7)

Я хотел сделать этот комментарий к JeffK, но мне не хватает репутации.