C#の混合配列とは?定義と現代の代替手法をわかりやすく解説
C#における混合配列とは
混合配列(Mixed Array)とは、多次元配列とジャグ配列(配列の配列)の特徴を組み合わせた配列のことです。異なる型の要素をひとつの配列に格納できる点が大きな特徴でした。
注意: 混合配列は、.NET 4.0 のアップデートで削除されたため、現在では廃止された機能となっています。新規のコードで使用することはできません。
混合配列の宣言方法(参考)
かつては以下のように宣言していました。object 型の配列として、数値や文字列などさまざまな型の値を混在させて格納できます。
var x = new object[] {89, 45, "jacob", 9.8};リストなどのオブジェクトを要素に含めることも可能でした。
var x = new object[] {87, 33, "tim", 6.7, new List<string>() {"football", "tennis", "squash", "cricket"}};混合配列の代替:ListコレクションとTupleを使う
混合配列が廃止された現在、同じ目的を達成するには List コレクション や Tuple(タプル) を利用するのが一般的です。これらを使えば、型安全な形で複数のデータを扱えます。
たとえば、int 型と string 型の値をひとつにまとめたい場合は、次のように Tuple を使います。
Tuple<int, string> tuple = new Tuple<int, string>(60, "John");
実際のコード例
以下は、Tuple を使って int 型と string 型の値を格納し、条件に応じて値を出力する完全なサンプルコードです。
using System;
using System.Collections.Generic;
class Program {
static void Main() {
// コレクションの初期化
Tuple<int, string> tuple = new Tuple<int, string>(99, "Jack");
if (tuple.Item1 == 99) {
Console.WriteLine(tuple.Item1);
}
}
}このように、C#では混合配列に頼ることなく、List や Tuple、さらには C# 7.0 以降で利用できる ValueTuple など、より柔軟で型安全なコレクション機能を使うことが推奨されています。
-
JavaScriptの連想配列とは?基本的な仕組みと使い方を解説
JavaScriptにおける「連想配列(Associative Array)」とは、数値のインデックスの代わりに、ユーザーが自由に定義した文字列キーを使って値にアクセスできるデータ構造のことです。厳密に言えば、JavaScriptの連想配列の正体はオブジェクトであり、他の言語にあるような専用の連想配列型は存在しません。 通常の配列と比べると、連想配列には次のような特徴があります。 lengthプロパティを持たない:要素数を取得する機能がありません。 通常のforループでは走査できない:インデックスが存在しないため、for...in文などを使って反復処理を行います。 JavaScriptの
-
C#の動的配列とは?ArrayListを使った動的な配列の作成方法を解説
動的配列とは、実行時にサイズを自由に拡張できる配列のことです。通常の静的配列は宣言時にサイズが固定されるため、後から要素数を変更することはできません。その点、動的配列は柔軟性が高く、多くの場面で有利になります。C#で配列を動的に作成するには、ArrayListコレクションを使用します。ArrayListは、個別にインデックスアクセスが可能なオブジェクトの順序付きコレクションを表します。動的なメモリ割り当てに対応しており、リストへの要素の追加(Add)、検索、並べ替え(Sort)なども簡単に行えます。C#で動的配列を作成するサンプルコード以下は、C#でArrayListを使って動的に配列を作成す