sourcetip

목록(String) 또는 배열 또는 배열 목록

fileupload 2023. 5. 23. 22:18
반응형

목록(String) 또는 배열 또는 배열 목록

어떤 경험이 있는 대부분의 프로그래머들에게 간단한 질문을 하길 바랍니다.

이 작업을 수행할 수 있는 데이터 유형은 무엇입니까?

Dim lstOfStrings as *IDK*

Dim String0 As String = "some value"
Dim String1 As String = "some value"
Dim String2 As String = "some value"
Dim String3 As String = "some value"
Dim String4 As String = "some value"
Dim String5 As String = "some value"


lstOfStrings.add(String0, String1, String2, String3)

나는 이것들에 이렇게 접속할 것입니다.

Dim s1 = lstOfStrings(0)
Dim s2 = lstOfStrings(1) 
Dim s3 = lstOfStrings(2) 
Dim s4 = lstOfStrings(3)

List(of String)를 사용하면 List(한 번에 하나씩)만 목록에 추가할 수 있으며, 함수에서는 여러 값을 저장할 수 있습니다.

솔루션:

Private Function Foo() As List(Of String)


    Dim temp1 As String
    Dim temp2 As String 
    Dim temp3 As String 

    Dim temp4 As String 
    Dim temp5 As String 
    Dim temp6 As String 

    Dim inputs() As String = {temp1, temp2, temp3, temp4, temp5, temp6}

    Dim lstWriteBits As List(Of String) = New List(Of String)(inputs)


    Return lstWriteBits
End Function

List(Of String)대부분 그것을 처리할 것입니다 - 하지만 당신은 사용해야 합니다.AddRange항목 컬렉션을 추가하려면 다음과 같이 하십시오.Add한 번에 하나씩 추가하는 방법:

lstOfString.Add(String1)
lstOfString.Add(String2)
lstOfString.Add(String3)
lstOfString.Add(String4)

표시된 것처럼 알려진 값을 추가하는 경우 다음과 같은 방법을 사용하는 것이 좋습니다.

Dim inputs() As String = { "some value", _
                              "some value2", _
                              "some value3", _
                              "some value4" }

Dim lstOfString as List(Of String) = new List(Of String)(inputs)

' ...
Dim s3 = lstOfStrings(3)

이렇게 하면 나중에 원하는 대로 항목을 추가할 수 있을 뿐만 아니라 초기 값을 빠르게 입력할 수도 있습니다.


편집:

코드에서 선언문을 수정해야 합니다.변경:

Dim lstWriteBits() As List(Of String) 

받는 사람:

Dim lstWriteBits As List(Of String) 

현재 목록(Of String) 개체의 배열을 선언하고 있습니다.

이런 일을 할 수 있습니다.

  Dim lstOfStrings As New List(Of String) From {"Value1", "Value2", "Value3"}

컬렉션 초기화자

두 컬렉션 모두 이러한 방식으로 항목을 추가할 수 없습니다.

예를 들어 확장을 만들 수 있습니다.List(Of String) 나다Add이를 수행할 수 있는 방법:

Imports System.Runtime.CompilerServices
Module StringExtensions

  <Extension()>
  Public Sub Add(ByVal list As List(Of String), ParamArray values As String())
    For Each s As String In values
      list.Add(s)
    Next
  End Sub

End Module

이제 한 번의 통화에 여러 개의 값을 추가할 수 있습니다.

Dim lstOfStrings as New List(Of String)
lstOfStrings.Add(String1, String2, String3, String4)

AddRange여기서의 방법

목록을 인스턴스화할 때 목록에 항목을 추가하고 싶지 않을 때가 있습니다.

빈 목록 인스턴스화

Dim blankList As List(Of String) = New List(Of String)

목록에 추가

blankList.Add("Dis be part of me list") 'blankList is no longer blank, but you get the drift

목록을 반복

For Each item in blankList
  ' write code here, for example:
  Console.WriteLine(item)
Next

사용할 수 있습니다.IList(Of String)함수에 포함됩니다.

Private Function getWriteBits() As IList(Of String)


Dim temp1 As String
Dim temp2 As Boolean
Dim temp3 As Boolean


'Pallet Destination Unique
Dim temp4 As Boolean
Dim temp5 As Boolean
Dim temp6 As Boolean

Dim lstWriteBits As Ilist = {temp1, temp2, temp3, temp4, temp5, temp6}

Return lstWriteBits
End Function

사용하다list1.AddRange(list2)목록을 추가합니다.

도움이 되길 바랍니다.

오래된 .net을 유지하는 데 어려움을 겪는 사람들을 위해 .net 프레임워크 2.x에서 작동하는 것이 있습니다.

Dim lstOfStrings As New List(of String)( new String(){"v1","v2","v3"} )

언급URL : https://stackoverflow.com/questions/13273997/listof-string-or-array-or-arraylist

반응형