#7 C#で学ぶ配列の基本
C#には、複数の値をまとめて扱うデータ構造として、「配列」と「List」という2種類の仕組みがあります。この記事では、それぞれの違いと基本的な使い方を解説します。
配列(固定長)
C#の配列は、大きさがあらかじめ決まっていて、後から変更できません。
string[] fruits = {"りんご", "みかん", "ぶどう"};
Console.WriteLine(fruits.Length); // 3
List(可変長)
大きさを自由に変えたい場合は、Listというクラスを使います。
List<string> fruits = new List<string>{"りんご", "みかん", "ぶどう"};
fruits.Add("メロン");
fruits.Remove("みかん");
値の追加にはAdd()、削除にはRemove()を使います。
要素にアクセスする・繰り返す
配列もListも、どちらも角かっこ[]を使って0から始まる添字でアクセスできます。
Console.WriteLine(fruits[0]);
foreach (var fruit in fruits) {
Console.WriteLine(fruit);
}
LINQで柔軟に加工する
C#には「LINQ」という、コレクションを条件で絞り込んだり並べ替えたりできる強力な機能があります。
using System.Linq;
var longNames = fruits.Where(f => f.Length > 2).ToList();
var sorted = fruits.OrderBy(f => f).ToList();
Whereで条件に合う要素だけを絞り込み、OrderByで並べ替えができます。配列にもListにも同じように使えるため、覚えておくとデータ加工が格段に楽になります。
C#ならではの注意点
C#のListは、JavaのArrayListと違って、書き方の見た目がほぼ配列と同じです。この使いやすさから、実際の開発では最初からListを選ぶことが多く、固定長の配列は用途が限定されるサイズが決まったデータでのみ使われる傾向があります。LINQを使う際は、名前空間using System.Linq;のインポートを忘れないようにしましょう。
まとめ
C#には固定長の配列と可変長のListがあり、どちらも似た書き方でアクセスできます。値を追加・削除する可能性があるならListを選び、絞り込みや並べ替えにはLINQを活用しましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
C#をもっと学びたい方には「確かな力が身につくC#「超」入門 第2版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿