C#の構造体のサンプルです。
目次
説明 | 構造体 |
構造体を配列にセットする | |
構造体でコンストラクタを使用する | |
構造体でメソッドを使用する |
構造体
struct 名称{ } |
- データをまとめることができます。
- コンストラクタやメソッドも使用できます。
- クラスと違い継承できません。
- 構造体は new 演算子を使用せずにインスタンス化できます。
- newすることも可能です。その場合コンストラクタを使用できます。
- 構造体は値型で、クラスは参照型です。
構造体のサンプルです。
using System;
struct StructTest1
{
public int id;
public string name;
public string[] sikaku;
}
class Test1
{
static void Main()
{
StructTest1 st1;
st1.id = 1;
st1.name = "suzuki";
st1.sikaku = new string[]{ "基本","応用"};
Console.WriteLine(st1.id); // 1
Console.WriteLine(st1.name); // suzuki
Console.WriteLine(st1.sikaku[0]); // 基本
Console.WriteLine(st1.sikaku[1]); // 応用
}
}
3~8行目は、構造体です。4行目にキーワードのstructがあります。
5~7行目は、変数です。7行目は配列です。
13行目は、構造体の変数です。構造体は new 演算子を使用せずにインスタンス化できます。
14~16行目は、構造体の変数に値をセットしています。17行目は配列に値をセットしています。
17~20行目は、構造体の値を表示しています。
構造体を配列にセットする
構造体を配列にセットするサンプルです。
using System;
struct StructTest1
{
public int id;
public string name;
}
class Test1
{
static void Main()
{
var arr = new StructTest1[2];
arr[0].id = 1;
arr[0].name = "鈴木";
arr[1].id = 2;
arr[1].name = "田中";
Console.WriteLine(arr[0].id); // 1
Console.WriteLine(arr[0].name); // 鈴木
Console.WriteLine(arr[1].id); // 2
Console.WriteLine(arr[1].name); // 田中
}
}
3行目は、構造体です。
12行目は、構造体の配列です。
14行目からは構造体の配列に値をセットしています。
構造体でコンストラクタを使用する
using System;
struct StructTest1
{
public int id;
public StructTest1(int num)
{
id = num;
}
}
class Test1
{
static void Main()
{
StructTest1 st1 = new StructTest1(100);
Console.WriteLine(st1.id); // 100
}
}
構造体でコンストラクタを使用するサンプルです。
7行目は、構造体のコンストラクタです。引数を取得して変数に値をセットします。
16行目は、コンストラクタの引数に数値を設定しています。
17行目は、コンストラクタで設定した値を表示しています。
構造体でメソッドを使用する
構造体でメソッドを使用するサンプルです。
using System;
struct StructTest1
{
public int id;
public string getName()
{
return "こんにちは";
}
}
class Test1
{
static void Main()
{
StructTest1 st1 = new StructTest1();
Console.WriteLine(st1.getName()); // こんにちは
}
}
7行目は、メソッドです。文字列を返します。
17行目は、構造体のメソッドを実行して値を表示します。
以下は、Microsoftの構造体のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/structs
関連の記事