C# 型変換
C# 型変換
このチュートリアルでは、例を使用して C# の型変換とその型について学習します。
ある型 (int、float、double など) の値を別の型に変換するプロセスは、型変換と呼ばれます。
C# には、型変換の基本的な型が 2 つあります。
<オール>1. C# での暗黙的な型変換
暗黙的な型変換では、C# コンパイラが自動的に型を別の型に変換します。
通常、int
のような小さい型 (メモリサイズが少ない) double
のような大きな型に自動的に変換されます (メモリサイズが大きい)
例:暗黙の型変換
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int numInt = 500;
// get type of numInt
Type n = numInt.GetType();
// Implicit Conversion
double numDouble = numInt;
// get type of numDouble
Type n1 = numDouble.GetType();
// Value before conversion
Console.WriteLine("numInt value: "+numInt);
Console.WriteLine("numInt Type: " + n);
// Value after conversion
Console.WriteLine("numDouble value: "+numDouble);
Console.WriteLine("numDouble Type: " + n1);
Console.ReadLine();
}
}
}
出力
numInt value: 500 numInt Type: System.Int32 numDouble value: 500 numDouble Type: System.Double
上記の例では、int
を作成しました。 numInt という名前の型変数 .
行に注意してください、
// Implicit Conversion
double numDouble = numInt;
ここでは、int
を割り当てています。 タイプ変数を double
に タイプ変数。この場合、C# コンパイラは int
を自動的に変換します。 値を double
に入力します .
GetType()
を使用していることに注意してください numInt
の型を調べるメソッド と numDouble
注意 :暗黙的な型変換では、小さい型が大きい型に変換されます。したがって、変換中にデータが失われることはありません。
2. C# の明示的な型変換
明示的な型変換では、ある型を別の型に明示的に変換します。
通常、double
のような大きな型 (メモリサイズが大きい) int
のような小さい型に変換されます (メモリサイズが小さい)
例:明示的な型変換
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
double numDouble = 1.23;
// Explicit casting
int numInt = (int) numDouble;
// Value before conversion
Console.WriteLine("Original double Value: "+numDouble);
// Value before conversion
Console.WriteLine("Converted int Value: "+numInt);
Console.ReadLine();
}
}
}
出力
Original double value: 1.23 Converted int value: 1
上記の例では、double
を作成しました。 numDouble という名前の変数 .行に注意してください、
// Explicit casting
int numInt = (int) numDouble;
ここでは、(int)
キャスト式です double
を明示的に変換する int
まで入力してください タイプしてください。
元の値は 1.23 であることがわかります 一方、換算値は 1 です .ここでは、型変換中に一部のデータが失われます。これは、より大きなデータ型 double
を明示的に変換しているためです。 より小さな型 int
に .
注意 :明示的な型変換は、型キャストとも呼ばれます。
Parse() を使用した C# 型変換
C# では、Parse()
も使用できます。 型変換を実行するメソッド。
通常、int
のような互換性のない型の間で型変換を実行しているときに、 および string
、 Parse()
を使用します .
例:Parse() を使用した型変換
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
string n = "100";
// converting string to int type
int a = int.Parse(n);
Console.WriteLine("Original string value: "+n);
Console.WriteLine("Converted int value: "+a);
Console.ReadLine();
}
}
}
出力
Original string value: 100 Converted int value: 100
上記の例では、string
を変換しました。 int
に入力 タイプしてください。
// converting string to int type
int a = int.Parse(n);
ここでは、Parse()
メソッドは数値文字列 100 を変換します 整数値に変換します。
注意 :Parse()
は使用できません "test" のようなテキスト文字列を int
に変換するには .たとえば、
String str = "test";
int a = int.Parse(str); // Error Code
Convert クラスを使用した C# 型変換
C# では、Convert
を使用できます。 型変換を行うクラス。 Convert
クラスは、ある型を別の型に変換するためのさまざまなメソッドを提供します。
方法 | 説明 |
ToBoolean() | 型を Boolean に変換します 値 |
ToChar() | 型を char に変換します タイプ |
ToDouble() | 型を double に変換します タイプ |
ToInt16() | 型を 16 ビットの int に変換します タイプ |
ToString() | 型を string に変換します |
いくつかの例を見てみましょう:
例:int を String および Double に変換する
using System;
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variable
int num = 100;
Console.WriteLine("int value: " + num);
// convert int to string
string str = Convert.ToString(num);
Console.WriteLine("string value: " + str);
// convert int to Double
Double doubleNum = Convert.ToDouble(num);
Console.WriteLine("Double value: " + doubleNum);
Console.ReadLine();
}
}
}
出力
int value: 100 string value: 100 Double value: 100
上記の例では、
- Convert.ToString(a) -
int
を変換します タイプ 数値string
へ - Convert.ToDouble(a) - num を変換します
Double
に タイプ
例:文字列を Double に、またはその逆に変換する
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create string variable
string str = "99.99";
Console.WriteLine("Original string value: " + str);
// convert string to double
Double newDouble = Convert.ToDouble(str);
Console.WriteLine("Converted Double value: " + newDouble);
// create double variable
double num = 88.9;
Console.WriteLine("Original double value: " + num);
// converting double to string
string newString = Convert.ToString(num);
Console.WriteLine("Converted string value: " + newString);
Console.ReadLine();
}
}
}
出力
Original string value: 99.99 Converted Double value: 99.99 Original double value: 88.9 Converted string value: 88.9
上記の例では、
- Convert.ToDouble(str) -
string
を変換します str と入力しますDouble
へ - Convert.ToString(num) -
double
を変換します タイプ 数値string
に
例 3:int をブール値に変換
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variables
int num1 = 0;
int num2 = 1;
// convert int to Boolean
Boolean bool1 = Convert.ToBoolean(num1);
Boolean bool2 = Convert.ToBoolean(num2);
Console.WriteLine("Boolean value of 0 is: " + bool1);
Console.WriteLine("Boolean value of 1 is: " + bool2);
Console.ReadLine();
}
}
}
出力
Boolean value of 0 is: False Boolean value of 1 is: True
上記の例では、2 つの整数変数 num1
を作成しました。 と num2
値 0 と 1 それぞれ。ここで、
- Convert.ToBoolean(num1) - 変換 0
Boolean
に 値False
- Convert.ToBoolean(num2) - 1 を変換
Boolean
に 値True
注意 :C# では、整数値 0 False
と見なされます その他のすべての値は True
と見なされます .
C言語