[C#] コンソール入力から配列を作成する方法
C#でコンソール入力から配列を作成する方法は、まずユーザーからの入力を受け取り、それを適切に分割して配列に変換します。
一般的な手順としては、Console.ReadLine()
を使用して入力を取得し、string.Split()メソッド
を用いて文字列を分割します。
例えば、スペースやカンマで区切られた数値を入力として受け取る場合、Split(' ')
やSplit(',')
を使用します。
その後、int.Parse()
やdouble.Parse()
などを用いて文字列を数値に変換し、配列に格納します。
これにより、ユーザーが入力したデータをプログラム内で配列として扱うことができます。
- コンソール入力を分割し、配列に変換する基本的な手順
- スペース、カンマ、改行で区切られた数値入力の処理方法
- 文字列配列や2次元配列の作成方法
- リストと配列の相互変換の方法とその利点
コンソール入力から配列を作成する手順
C#でコンソールから入力を受け取り、それを配列として格納する方法について解説します。
このプロセスは、入力データの分割、文字列から数値への変換、そして配列へのデータ格納の3つのステップで構成されます。
入力データの分割
コンソールから入力されたデータは通常、1つの文字列として取得されます。
この文字列を特定の区切り文字で分割し、配列に変換する必要があります。
以下のサンプルコードでは、スペースで区切られた数値を分割しています。
using System;
class Program
{
static void Main()
{
Console.WriteLine("数値をスペースで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(' '); // スペースで文字列を分割
}
}
このコードでは、ユーザーが入力した文字列をスペースで分割し、stringArray
に格納しています。
文字列から数値への変換
分割された文字列を数値に変換する必要があります。
以下のコードでは、int型
の配列に変換しています。
using System;
class Program
{
static void Main()
{
Console.WriteLine("数値をスペースで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(' '); // スペースで文字列を分割
int[] numbers = Array.ConvertAll(stringArray, int.Parse); // 文字列配列を整数配列に変換
}
}
このコードでは、Array.ConvertAllメソッド
を使用して、文字列配列を整数配列に変換しています。
配列へのデータ格納
最後に、変換された数値を配列に格納します。
上記のコードでは、すでにnumbers
という整数配列にデータが格納されています。
以下に、配列の内容を表示するコードを追加します。
using System;
class Program
{
static void Main()
{
Console.WriteLine("数値をスペースで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(' '); // スペースで文字列を分割
int[] numbers = Array.ConvertAll(stringArray, int.Parse); // 文字列配列を整数配列に変換
Console.WriteLine("入力された数値の配列:");
foreach (int number in numbers)
{
Console.WriteLine(number); // 配列の各要素を表示
}
}
}
このコードを実行すると、ユーザーが入力した数値が配列に格納され、各要素がコンソールに表示されます。
これにより、コンソール入力から配列を作成する基本的な手順が完了します。
実践例:数値配列の作成
ここでは、コンソールからの入力をさまざまな区切り文字で分割し、数値配列を作成する実践例を紹介します。
スペース、カンマ、改行で区切られた入力をそれぞれ処理する方法を見ていきます。
スペース区切りの数値入力
スペースで区切られた数値を入力し、それを配列に変換する方法です。
以下のコードは、ユーザーがスペースで区切った数値を入力し、それを整数配列に変換して表示します。
using System;
class Program
{
static void Main()
{
Console.WriteLine("数値をスペースで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(' '); // スペースで文字列を分割
int[] numbers = Array.ConvertAll(stringArray, int.Parse); // 文字列配列を整数配列に変換
Console.WriteLine("入力された数値の配列:");
foreach (int number in numbers)
{
Console.WriteLine(number); // 配列の各要素を表示
}
}
}
このコードを実行すると、スペースで区切られた数値が配列に格納され、各要素が表示されます。
カンマ区切りの数値入力
次に、カンマで区切られた数値を入力し、それを配列に変換する方法です。
以下のコードは、ユーザーがカンマで区切った数値を入力し、それを整数配列に変換して表示します。
using System;
class Program
{
static void Main()
{
Console.WriteLine("数値をカンマで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(','); // カンマで文字列を分割
int[] numbers = Array.ConvertAll(stringArray, int.Parse); // 文字列配列を整数配列に変換
Console.WriteLine("入力された数値の配列:");
foreach (int number in numbers)
{
Console.WriteLine(number); // 配列の各要素を表示
}
}
}
このコードを実行すると、カンマで区切られた数値が配列に格納され、各要素が表示されます。
改行区切りの数値入力
最後に、改行で区切られた数値を入力し、それを配列に変換する方法です。
以下のコードは、ユーザーが改行で区切った数値を入力し、それを整数配列に変換して表示します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine("数値を改行で区切って入力してください。終了するには空行を入力してください:");
List<int> numbersList = new List<int>(); // 数値を格納するリストを作成
while (true)
{
string input = Console.ReadLine(); // ユーザーからの入力を取得
if (string.IsNullOrEmpty(input)) // 空行が入力されたら終了
{
break;
}
numbersList.Add(int.Parse(input)); // 入力された数値をリストに追加
}
int[] numbers = numbersList.ToArray(); // リストを配列に変換
Console.WriteLine("入力された数値の配列:");
foreach (int number in numbers)
{
Console.WriteLine(number); // 配列の各要素を表示
}
}
}
このコードを実行すると、ユーザーが改行で区切って入力した数値が配列に格納され、各要素が表示されます。
空行を入力することで入力を終了します。
応用例
コンソール入力から配列を作成する基本的な方法を学んだところで、ここではその応用例を紹介します。
文字列配列の作成、2次元配列の作成、リストと配列の変換について解説します。
文字列配列の作成
数値だけでなく、文字列を配列として扱うこともできます。
以下のコードは、ユーザーがスペースで区切った文字列を入力し、それを文字列配列に変換して表示します。
using System;
class Program
{
static void Main()
{
Console.WriteLine("文字列をスペースで区切って入力してください:");
string input = Console.ReadLine(); // ユーザーからの入力を取得
string[] stringArray = input.Split(' '); // スペースで文字列を分割
Console.WriteLine("入力された文字列の配列:");
foreach (string str in stringArray)
{
Console.WriteLine(str); // 配列の各要素を表示
}
}
}
このコードを実行すると、スペースで区切られた文字列が配列に格納され、各要素が表示されます。
2次元配列の作成
2次元配列を作成するには、行と列の情報を入力から取得する必要があります。
以下のコードは、ユーザーが行ごとにスペースで区切った数値を入力し、それを2次元配列に変換して表示します。
using System;
class Program
{
static void Main()
{
Console.WriteLine("行数を入力してください:");
int rows = int.Parse(Console.ReadLine()); // 行数を取得
Console.WriteLine("各行の数値をスペースで区切って入力してください:");
int[,] matrix = new int[rows, 3]; // 3列の2次元配列を作成
for (int i = 0; i < rows; i++)
{
string[] stringArray = Console.ReadLine().Split(' '); // 各行をスペースで分割
for (int j = 0; j < stringArray.Length; j++)
{
matrix[i, j] = int.Parse(stringArray[j]); // 文字列を整数に変換して格納
}
}
Console.WriteLine("入力された2次元配列:");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(matrix[i, j] + " "); // 2次元配列の各要素を表示
}
Console.WriteLine();
}
}
}
このコードを実行すると、ユーザーが入力した数値が2次元配列に格納され、行ごとに表示されます。
リストと配列の変換
リストと配列は相互に変換することができます。
以下のコードは、リストを配列に変換し、また配列をリストに変換する方法を示しています。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numberList = new List<int> { 1, 2, 3, 4, 5 }; // リストを作成
int[] numberArray = numberList.ToArray(); // リストを配列に変換
Console.WriteLine("リストから変換された配列:");
foreach (int number in numberArray)
{
Console.WriteLine(number); // 配列の各要素を表示
}
List<int> newList = new List<int>(numberArray); // 配列をリストに変換
Console.WriteLine("配列から変換されたリスト:");
foreach (int number in newList)
{
Console.WriteLine(number); // リストの各要素を表示
}
}
}
このコードを実行すると、リストから配列への変換と、配列からリストへの変換が行われ、それぞれの要素が表示されます。
リストと配列の変換は、データの操作や管理を柔軟に行うために便利です。
よくある質問
まとめ
この記事では、C#でコンソール入力から配列を作成する方法について、具体的な手順や実践例を通じて詳しく解説しました。
スペースやカンマ、改行で区切られた入力を処理する方法や、文字列配列や2次元配列の作成、リストと配列の変換といった応用例も紹介しました。
これらの知識を活用して、より柔軟で効率的なプログラムを作成するための第一歩を踏み出してみてください。