C#のstringとStringの違いとは?文字列データ型の基礎を徹底解説
C#におけるstringとStringの関係
C#では、Stringは.NETのクラス「System.String」そのものを指し、一方のstringはSystem.Stringに対して付けられたエイリアス(別名)です。つまり、両者は本質的にまったく同じ型を表しており、どちらを使っても動作に違いはありません。
例えば、次のように記述できます。
string str = "Welcome!";
使い分けの一般的な慣習
厳密なルールがあるわけではありませんが、実務では次のように使い分けられることが一般的です。
- string:変数宣言など、通常のコード内で使用する
- String:Stringクラスの静的メソッドを呼び出す際に使用する
例えば、書式指定を行うString.Formatメソッドを使う場合は、次のように書きます。
string str = String.Format("Welcome! {0}!", user);
C#の主要な型とエイリアスの一覧
stringがSystem.Stringのエイリアスであるように、C#の基本データ型にもそれぞれ対応する.NET型のエイリアスが用意されています。主な対応関係は以下の通りです。
| C#のキーワード | .NET型(エイリアス先) |
|---|---|
| object | System.Object |
| string | System.String |
| bool | System.Boolean |
| float | System.Single |
| double | System.Double |
| decimal | System.Decimal |
| byte | System.Byte |
| sbyte | System.SByte |
| short | System.Int16 |
| ushort | System.UInt16 |
| int | System.Int32 |
| uint | System.UInt32 |
| long | System.Int64 |
| ulong | System.UInt64 |
| char | System.Char |
string型への値の代入方法
C#のstring型は、任意の文字列を変数に代入できる参照型です。string型はSystem.Stringクラスのエイリアスであり、object型から派生しています。
string型の値は、文字列リテラルを使って次の2つの形式で代入できます。
- quoted(引用符形式):通常のダブルクォート(" ")で囲む標準的な方法
- @quoted(逐語的文字列リテラル):文字列の先頭に@を付けると、エスケープシーケンスが無効になり、ファイルパスや複数行テキストをそのまま記述できる
quoted形式の例:
String str = "Okay!";
@quoted形式の例:
string path = @"C:\Users\Documents";
このように、C#の文字列操作はstringキーワードとStringクラスを状況に応じて使い分けることで、可読性の高いコードを書くことができます。
-
Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説
Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)
-
OSのカーネルとは?役割・仕組みと5つの種類をわかりやすく解説
Windows、macOS、Linux、Androidなど、あらゆるオペレーティングシステム(OS)には「カーネル(Kernel)」と呼ばれる中核プログラムが存在します。カーネルはシステム全体の「ボス」のような存在であり、まさにOSの心臓部です。コンピューター上で起こるあらゆる処理はカーネルを経由し、他のすべてを制御するコンピュータープログラムでもあります。本記事では、OSにおけるカーネルとは何か、そしてカーネルにはどのような種類があるのかを詳しく解説します。 OSにおけるカーネルとは カーネルはOSの中核プログラムであるだけでなく、ブートローダーの実行後に最初に読み込まれるプログラムでもあり