Школоло / Говнокод #2026 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
For intAtts As Integer = 5 To strParams.Length - 1
            Select Case (intAtts + 1) Mod 3
                Case 0
                    '--- Set where to find the attachments
                    Select Case strParams(intAtts).ToUpper
                        Case "TASKVIEW"
                            strAttach = CType(Me.Parent, ctlTaskViewTemplate).ctlDocNavigator.ContainerID.ToString & ","
                        Case "WORKITEM"
                            strAttach = WorkItem.WorkItemContainer.ToString & ","
                        Case "CASE"
                            strAttach = BFECase.CaseContainerID.ToString & ","
                    End Select
                Case 1
                    '--- Set the relative path of where to find the attachments
                    strAttach = strAttach & strParams(intAtts) & ","
                Case 2
                    '--- Set the type of document used to find the attachments
                    strAttach = strAttach & strParams(intAtts)
                    arrAttachments.Add(strAttach)
                    strAttach = ""
            End Select
        Next intAtts

вот и попробуй пойми что в этих массивах по какому принципу лежит

Запостил: 6istik 6istik, (Updated )

Комментарии (2) RSS

  • Принцип заложен в этом кусочке, (intAtts + 1) Mod 3, остаток от деления индекса элемента (плюс один) на 3. То есть код говорит, начиная с 5-го элемента, в массиве лежат триплеты, 1 - где искать аттач, 2- отосительный путь аттача, 3 - тип аттача.
    Каждый триплет форматируется в строку, которая потом добавляется в массив аттачей (добавление происходит на последнем шаге, в case 2).
    Вообще VB приятный язык, очень понятный с первого взгляда. Везет тебе 🙂
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8