ホームページ  >  記事  >  バックエンド開発  >  C# データ型

C# データ型

WBOY
WBOYオリジナル
2024-09-03 15:02:381020ブラウズ

名前が示すように、データ型は変数に保存するデータの型です。データ型は、処理するデータの種類とそのデータに必要なメモリ量をコンパイラまたはインタープリタに示唆するために使用されます。

例: int は数値を格納するデータ型で、4 バイトが必要です。

C# は厳密に型指定された言語であるため、使用する前に変数または定数の型を宣言する必要があります。データ型を適切に使用すると、メモリが節約され、アプリケーションのパフォーマンスが向上します。

構文:

datatype <variable_name> = value;

C# データ型の例:

1. int intVal = 55;この例では、int はデータ型、intVal は変数名、55 は値です。

2. char charVal = 'A';

3. string strVal = “Hello World!”;

4. float floatVal = 15.5f;

5. bool boolVal = true;

上位 3 つの C# データ型

C# データ型は 3 つのカテゴリに分類されます:

C# データ型

1.値のタイプ

  • 変数の値をメモリに直接保存します。
  • 署名付きリテラルと署名なしリテラルの両方を受け入れます。

C# には 2 種類の値のデータ型があります:

  1. int、char、bool などの事前定義されたデータ型
  2. 列挙型、構造体などのユーザー定義のデータ型

2.参照型

  • 変数のアドレスを格納します。つまり、変数への参照が含まれます。
  • 一方の変数によってデータが変更されると、もう一方の変数は自動的に更新された値を取得します。

C# には 2 種類の参照データ型があります:

  1. Object、String などの定義済みタイプ
  2. クラス、インターフェイスなどのユーザー定義型

3.ポインタの型

  • 変数のメモリ アドレスが含まれます。

ポインタで使用される記号:

  1. &(アンパサンド): アドレス演算子、変数のアドレスを決定します
  2. *(アスタリスク): 間接演算子、アドレスの値にアクセスします

さまざまなデータ型の例

以下は、C# のさまざまなデータ型の例です。

例 #1: いくつかの値の型

using System;
public class ValueDataTypes
{
public static void Main()
{
//int - 32-bit signed integer type
int i = 55;
//char - 16-bit Unicode character
char ch = 'A';
//short - 16-bit signed integer type
short s = 56;
//long - 64-bit signed integer type
long l = 5564;
//uint - 32-bit unsigned integer type
uint ui = 100;
//ushort - 16-bit unsigned integer type
ushort us = 80;
//ulong - 64-bit unsigned integer type
ulong ul = 3625573;
//double - 64-bit double precision floating point type
double d = 6.358674532;
//float - 32-bit single-precision floating point type
//float needs 'f' or 'F' as suffix
float f = 2.7330645f;
//decimal - 128-bit precise decimal values with 28-29 significant digits
//decimal needs 'm' or 'M' as suffix
decimal dec = 339.5m;
Console.WriteLine("Integer: " + i);
Console.WriteLine("Char: " + ch);
Console.WriteLine("Short: " + s);
Console.WriteLine("Long: " + l);
Console.WriteLine("Unsinged integer: " + ui);
Console.WriteLine("Unsinged short: " + us);
Console.WriteLine("Unsinged long: " + ul);
Console.WriteLine("Double: " + d);
Console.WriteLine("Float: " + f);
Console.WriteLine("Decimal: " + dec);
}
}

出力:

C# データ型

例 #2: Bool、Enum、および Struct データ型

この構造体は、異なるデータ型の関連データを格納するために使用される複合型です。 Enum は、整数定数に名前を割り当てるために使用されます。

using System;
public class BoolEnumStruct
{
//declaring enum
enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
//declaring structure
struct Student
{
public int Id;
public string FirstName;
public string LastName;
public Student(int id, string fname, string lname)
{
Id = id;
FirstName = fname;
LastName = lname;
}
}
public static void Main()
{
//boolean data type
bool flag = true;
if(flag)
{
Console.WriteLine("Bool value: "+flag);
Console.WriteLine();
}
//Accessing enum value for Friday
Console.WriteLine("Enumeration:");
Console.WriteLine(Days.Friday);
Console.WriteLine((int)Days.Friday);
Console.WriteLine();
//passing values to structure members using constructor
Student student = new Student(1, "Riya", "Sen");
Console.WriteLine("Structure Members:");
Console.WriteLine(student.Id);
Console.WriteLine(student.FirstName);
Console.WriteLine(student.LastName);
}
}

出力:

C# データ型

例 #3: 参照データ型

using System;
public class StrObjDynamic
{
public static void Main()
{
string str = "C# ";
str += "Data Types";
Console.WriteLine("String: "+str);
Console.WriteLine();
//declaring object
object obj;
obj = 100;
Console.WriteLine("Object: "+obj);
//displaying type of object using GetType()
Console.WriteLine(obj.GetType());
Console.WriteLine();
//declaring dynamic variables
dynamic value1 = "Hello World!";
dynamic value2 = 5296;
dynamic value3 = 6.5;
//displaying actual type of dynamic variables using GetType()
Console.WriteLine("Dynamic:");
Console.WriteLine("Type of value1: {0}", value1.GetType().ToString());
Console.WriteLine("Type of value2: {0}", value2.GetType().ToString());
Console.WriteLine("Type of value3: {0}", value3.GetType().ToString());
}
}

出力:

C# データ型

例 #4: インターフェース

インターフェイスには、プロパティ、メソッド、イベント、インデクサーをメンバーとして含めることができます。メンバーの宣言のみが含まれます。そのメンバーの実装は、それを暗黙的または明示的に実装するクラスによって提供されます。

using System;
interface Shape
{
void rectangle();
}
public class Area : Shape
{
//implementing interface method
public void rectangle()
{
Console.WriteLine("Area of rectangle is Length * Breadth");
}
public static void Main(String[] args)
{
Area area = new Area();
area.rectangle();
}
}

出力:

C# データ型

例 #5: デリゲート

デリゲートは、メソッドへの参照を保持するオブジェクトです。

using System;
public class DelegateDemo
{
// Declaring delegate
public delegate void Sum(int a, int b);
public void SumVal(int a, int b)
{
Console.WriteLine(a +"+"+ b+ " = {0}", a + b);
}
public static void Main(String[] args)
{
DelegateDemo delegateDemo = new DelegateDemo();
// Creating object of delegate
Sum sum = new Sum(delegateDemo.SumVal);
//Passing values to the method using delegate object
sum(100, 100);
}
}

出力:

C# データ型

結論

  • 値の型はスタックに格納されます。
  • 参照型はヒープに格納されます。
  • 値型を参照型に変換することをボックス化(暗黙的な変換処理)と呼びます.
  • 参照型を値型に変換することをアンボックス化(明示的な変換処理)と呼びます.

以上がC# データ型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:C# のバージョン次の記事:C# のバージョン