programing

VB.NET 빈 문자열 배열

padding 2023. 5. 8. 21:57
반응형

VB.NET 빈 문자열 배열

빈 1차원 문자열 배열을 만들려면 어떻게 해야 합니까?

VB는 어레이 선언에서 0으로 인덱싱되므로 다음과 같습니다.Dim myArray(10) as String11가지 요소를 제공합니다.그것은 C 언어에서 번역할 때 흔히 있는 실수입니다.

따라서 빈 어레이의 경우 다음 중 하나가 작동합니다.

Dim str(-1) as String ' -1 + 1 = 0, so this has 0 elements
Dim str() as String = New String() { } ' implicit size, initialized to empty

조광기 빈칸(-1) 문자열

사용자가 만든 배열Dim s(0) As String 비어 있지 않음

VB.Net에서 배열에 사용하는 첨자는 마지막 요소의 인덱스입니다.VB.Net은 기본적으로 0부터 인덱싱을 시작하므로 이미 하나의 요소가 있는 배열이 있습니다.

대신 사용해 보십시오.System.Collections.Specialized.StringCollection또는 (더 나은)System.Collections.Generic.List(Of String)항목을 추가하거나 제거하는 데 더 적합하다는 점을 제외하고는 문자열 배열과 거의 동일합니다.그리고 솔직히 말해서 문자열 배열을 만드는 경우에는 요소를 하나 이상 추가하지 않고는 거의 없습니다.

빈 문자열 배열을 사용하려면 다음과 같이 선언합니다.

Dim s As String()

또는

Dim t() As String

다음과 같은 것:

Dim myArray(9) as String

10개의 문자열 참조 배열을 제공합니다(각각 없음을 가리킴).

선언 시 크기가 확실하지 않으면 다음과 같은 문자열 배열을 선언할 수 있습니다.

Dim myArray() as String

그런 다음 나중에 적절한 크기의 문자열 배열을 가리킬 수 있습니다.

ReDim myArray(9) as String

전체 크기를 모르고 동적으로 채워야 할 경우 목록을 사용하는 ZombieSheep이 옳습니다.VB.NET에서는 다음과 같습니다.

Dim myList as New List(Of String)
myList.Add("foo")
myList.Add("bar")

그런 다음 해당 목록에서 배열을 가져오려면 다음과 같이 하십시오.

myList.ToArray()

@마크

수정해 주셔서 감사합니다.

String을 두 번 포함할 필요도 없고 New를 사용할 필요도 없습니다.
다음 중 하나가 작동합니다.

Dim strings() as String = {}
Dim strings as String() = {}

이를 위한 다른 방법:

Dim strings() As String = {}

빈 문자열 배열인지 테스트하는 중:

MessageBox.Show("count: " + strings.Count.ToString)

"count: 0"이라는 메시지 상자가 표시됩니다.

장황하지만 자기 기록은...

Dim strEmpty() As String = Enumerable.Empty(Of String).ToArray

왜 그러고 싶은지는 모르겠지만, C# 방식은.

string[] newArray = new string[0];

저는 VB가 이것과 크게 다르지 않을 것이라고 생각합니다.

나중에 값으로 채울 수 있도록 빈 어레이를 구축하는 경우에는

List<string>

어레이로 변환(어레이로 필요한 경우)할 수 있습니다.

newListOfString.ToArray();
Dim array As String() = Array.Empty(Of String)

이 DimArraystr()를 문자열 = {}(으)로 시도합니다.

이것이 오래된 스레드라는 것은 알지만 빈 1차원 문자열 배열을 만드는 또 다른 방법은 메소드를 사용하는 것입니다.

예.,

VB.NET

Dim emptyStringArray() As String = Array.Empty(Of String)()

C#

string[] emptyStringArray = Array.Empty<string>()

언급URL : https://stackoverflow.com/questions/44713/vb-net-empty-string-array

반응형