サフィックスの実践、キャストと変換、C# 6のオブジェクト生成
数値サフィックスを実際に使い、キャストと変換の違いを学びます。また、ターゲット型指定newを使わないC# 6対応のオブジェクト生成方法を確認します。
「サフィックスの実践、キャストと変換、C# 6のオブジェクト生成」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全3レッスンが含まれています。
レッスン概要
目標:数値サフィックスを正しく使い、キャストと変換を使い分け、ターゲット型 new を使わずに C# 6 でオブジェクトを作成します。
サフィックスの実践
サフィックス:float には f(3.14f)、decimal には m(10m)、long には L(123L)を使います。精度と範囲に応じて型を選びます。
キャストの基礎
キャストは、コンパイラーによる値の解釈の仕方を変更します。明示的なキャストではデータが失われる場合があります。
using System;
public class Program
{
public static void Main(string[] args)
{
// Implicit numeric promotion (safe)
int i = 42;
double d = i; // implicit cast to double
Console.WriteLine("d = " + d);
// Explicit cast (possible data loss)
double pi = 3.99;
int n = (int)pi; // truncates
Console.WriteLine("n = " + n);
}
}
変換の基礎
変換はデータを変形します。TryParse が最も安全で、入力が不正な場合は Parse/Convert が例外をスローすることがあります。
using System;
public class Program
{
public static void Main(string[] args)
{
string text = "123";
int value;
// TryParse: safe conversion (no exception)
bool ok = int.TryParse(text, out value);
Console.WriteLine("ok=" + ok + " value=" + value);
// Convert: throws if invalid
int v2 = Convert.ToInt32(3.7); // rounds to 4
Console.WriteLine("v2=" + v2);
// Parse: throws if invalid
int v3 = int.Parse("42");
Console.WriteLine("v3=" + v3);
}
}
C# 6 のオブジェクト作成
ターゲット型 new は使えません:C# 6 では型を明示的に記述します(左辺またはコンストラクターで指定します)。古いコンパイラーでは、新しい構文を避けてください。
using System;
// Simple point class
public class Point
{
public int X;
public int Y;
}
public class Program
{
public static void Main(string[] args)
{
// C# 6 style: specify the type on the left or right
Point p1 = new Point();
p1.X = 1; p1.Y = 2;
var p2 = new Point(); // type inferred from constructor
p2.X = 3; p2.Y = 4;
Console.WriteLine("p1=(" + p1.X + "," + p1.Y + ")");
Console.WriteLine("p2=(" + p2.X + "," + p2.Y + ")");
}
}
すべてを組み合わせる
キャストと変換の結果を比較し、サフィックスを1か所で確認します。ユーザー入力には TryParse を優先します。
using System;
public class Program
{
public static void Main(string[] args)
{
// Suffixes
float f = 2.5f;
decimal price = 9.99m;
long big = 10000000000L;
Console.WriteLine("f=" + f + " price=" + price + " big=" + big);
// Cast vs Convert
double d = 5.8;
int viaCast = (int)d; // 5 (truncate)
int viaConvert = Convert.ToInt32(d); // 6 (round)
Console.WriteLine("viaCast=" + viaCast + " viaConvert=" + viaConvert);
// TryParse safety
int n;
bool ok = int.TryParse("oops", out n);
Console.WriteLine("TryParse ok=" + ok + " n=" + n);
}
}
キャストと変換
まとめ
まとめ:f/m/L サフィックスを使い、安全な場合にのみキャストします。新しい表現が必要な場合は変換し、TryParse を優先します。C# 6 では型を明示的に宣言し、ターゲット型 new は使いません。
よくある質問
「サフィックスの実践、キャストと変換、C# 6のオブジェクト生成」レッスンは無料ですか?
はい。「サフィックスの実践、キャストと変換、C# 6のオブジェクト生成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全3レッスンが含まれています。
「サフィックスの実践、キャストと変換、C# 6のオブジェクト生成」で何を学びますか?
数値サフィックスを実際に使い、キャストと変換の違いを学びます。また、ターゲット型指定newを使わないC# 6対応のオブジェクト生成方法を確認します。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。
「サフィックスの実践、キャストと変換、C# 6のオブジェクト生成」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 値型と参照型、リテラル、varによる推論、const/readonly
- 演算子と式:算術、比較、論理
- サフィックスの実践、キャストと変換、C# 6のオブジェクト生成