List<T>をArray[T]に、その逆のArray[T]をList<T>に変換するサンプルコードと実行例を以下に記します。
以下に C#, Visual Basic のサンプルコードと実行結果を記します。
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List<string> lst = new List<string>
{
"Windows",
"macOS",
"Linux"
};
Console.WriteLine("-- List<T> --");
foreach (string item in lst)
{
Console.WriteLine("List : {0}", item);
}
Console.WriteLine("-- List<T> -> Array[T] --");
string[] ary = lst.ToArray();
Console.WriteLine("Count : {0}", lst.Count);
for (int i = 1; i <= lst.Count; i++)
{
Console.WriteLine("Array({0}) : {1}", i - 1, ary[i - 1]);
}
Console.WriteLine("-- Array[T] -> List<T> --");
List<string> lst2 = new List<string>(ary);
foreach (string item in lst2)
{
Console.WriteLine("List : {0}", item);
}
}
}
Imports System
Module Program
Sub Main(args As String())
Dim lst As List(Of String) = New List(Of String)
lst.Add("Windows")
lst.Add("macOS")
lst.Add("Linux")
Console.WriteLine("-- List(Of T) --")
For Each item As String In lst
Console.WriteLine("List : {0}", item)
Next
Console.WriteLine("-- List(Of T) -> Array(T) --")
Dim ary As String() = lst.ToArray()
Console.WriteLine("Count : {0}", lst.Count)
For i As Integer = 1 To lst.Count
Console.WriteLine("Array({0}) : {1}", i - 1, ary(i - 1))
Next
Console.WriteLine("-- Array(T) -> List(Of T) --")
Dim lst2 As List(Of String) = New List(Of String)(ary)
For Each item As String In lst2
Console.WriteLine("List : {0}", item)
Next
End Sub
End Module
上記のサンプルコードを実行した時のキャプチャです。
以上、Listから配列(Array)、ArrayからListに変換するサンプルコードでした。