цикл for для строковой переменной - PullRequest
2 голосов
/ 23 февраля 2010

это мой код -

for i as integer = 0 to rows.count - 1
   output &= "Name =" & row(i)("Name")
   output &= "lastName =" & row(i)("lastName")
... 50 more fields
next

мне нужно, чтобы вывод был таким

Applicant1Name = MikeApplicant1lastName = ditkaApplicant2Name = TomApplicant2lastName = Брейди ...

как мне это сделать, не вводя следующий код 50 раз - output & = "Заявитель" & i.tostring () + 1 & "Name =" & row (i) ("Name") ... и так далее. Есть ли способ сделать цикл for и запустить заявителя 1,2,3,4 .... в один выстрел? спасибо

Ответы [ 3 ]

6 голосов
/ 23 февраля 2010

Попробуйте:

Dim output as New StringBuilder("")

For i as Integer = 0 To rows.Count - 1
    output.append("Applicant" + i.ToString())
    Foreach(col as DataColumn in dt.Columns)  ' The datatable where your rows are
        Dim colName as string = col.ColumnName
        output.append(colName & "=" & rows(i)(colName).ToString())
    Next
    If i < rows.Count - 1 Then output.Append("|")
Next

StringBuilder быстрее для конкатенации строк, и если вы сохраняете свои строки в таблице данных (что, как я полагаю, происходит, потому что именно так вы и обращаетесь к ним), вы можете просто перебирать имена столбцов на верхнем уровне .

0 голосов
/ 23 февраля 2010

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

    Dim fields As String() = {"Name", "LastName", "SSN", "Birthdate"}
    Dim output As String = ""

    For i As Integer = 1 To rows.count
        For Each field As String In fields
            output = String.Concat(output, "Applicant ", i, field, "=", row(i)(field), " ")
        Next
    Next
0 голосов
/ 23 февраля 2010

Вы действительно не можете, поскольку вы пытаетесь добавить 50 различных полей. Единственное, что вы можете сократить - это имя переменной:

Dim strLN as String = row(i)("lastName")
Dim strFirstName as String = row(i)("firstName")

Тогда вы просто складываете все вместе

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