C#でList<T>から配列へ変換するコードと実行結果を紹介します。
List<T>から配列へ変換する場合には、ListクラスのToArrayメソッドを利用します。
Windowsフォームアプリケーションを作成し、プログラムを作成します。
下図のUIを作成します。フォームにMultiLinesプロパティをtrueに設定したテキストボックス、ボタンを配置します。今回は[button1]のみを利用します。
下記のコードを記述します。[button1]のクリックイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ArrayListConvert
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<int> vlist = new List<int>();
vlist.Add(5);
vlist.Add(20);
vlist.Add(100);
vlist.Add(400);
vlist.Add(80);
int[] array;
array = vlist.ToArray();
for (int i=0; i<array.Length;i++) {
textBox1.Text += array[i] + "\r\n";
}
}
}
}
下記コードにてint型のリストを作成し、値を設定しています。
List<int> vlist = new List<int>();
vlist.Add(5);
vlist.Add(20);
vlist.Add(100);
vlist.Add(400);
vlist.Add(80);
リストの値は下記に設定されます。
リストのインデックス | 0 | 1 | 2 | 3 | 4 |
値 | 5 | 20 | 100 | 400 | 80 |
下記コードでリストを配列に変換し、array配列に代入します。
int[] array;
array = vlist.ToArray();
forループで配列の値を参照しテキストボックスに出力します。
for (int i=0; i<array.Length;i++) {
textBox1.Text += array[i] + "\r\n";
}
[button1]をクリックします。下図の実行結果となります。Listに挿入された値が配列にコピーされ、その値がテキストボックスに表示されます。
List<T> から string[] に変換する場合は
ToArray() メソッドを使います
下図のUIを作成します。フォームにMultiLinesプロパティをtrueに設定したテキストボックス、ボタンを配置します。今回は[button3]のみを利用します。
下記のコードを記述します。[button3]のクリックイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ArrayListConvert
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
List<string> itemlist = new List<string>();
itemlist.Add("Penguin");
itemlist.Add("Duck");
itemlist.Add("Whale");
itemlist.Add("Bear");
itemlist.Add("Owl");
string[] array;
array = itemlist.ToArray();
for (int i = 0; i < array.Length; i++) {
textBox1.Text += array[i] + "\r\n";
}
}
}
}
string型のリストを作成し値を追加します。
List<string> itemlist = new List<string>();
itemlist.Add("Penguin");
itemlist.Add("Duck");
itemlist.Add("Whale");
itemlist.Add("Bear");
itemlist.Add("Owl");
配列を作成し、リストのToArray()メソッドを呼び出し配列に変換します。
string[] array;
array = itemlist.ToArray();
forループで配列の値を参照しテキストボックスに値を表示します。
for (int i = 0; i < array.Length; i++) {
textBox1.Text += array[i] + "\r\n";
}
[button3]をクリックします。Listに挿入された文字列の値が、配列にコピーされ、配列の値がテキストボックスに表示されます。