C#
 Computer >> コンピューター >  >> プログラミング >> C#

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型(エイリアス先)
objectSystem.Object
stringSystem.String
boolSystem.Boolean
floatSystem.Single
doubleSystem.Double
decimalSystem.Decimal
byteSystem.Byte
sbyteSystem.SByte
shortSystem.Int16
ushortSystem.UInt16
intSystem.Int32
uintSystem.UInt32
longSystem.Int64
ulongSystem.UInt64
charSystem.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クラスを状況に応じて使い分けることで、可読性の高いコードを書くことができます。

  1. Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説

    Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)

  2. OSのカーネルとは?役割・仕組みと5つの種類をわかりやすく解説

    Windows、macOS、Linux、Androidなど、あらゆるオペレーティングシステム(OS)には「カーネル(Kernel)」と呼ばれる中核プログラムが存在します。カーネルはシステム全体の「ボス」のような存在であり、まさにOSの心臓部です。コンピューター上で起こるあらゆる処理はカーネルを経由し、他のすべてを制御するコンピュータープログラムでもあります。本記事では、OSにおけるカーネルとは何か、そしてカーネルにはどのような種類があるのかを詳しく解説します。 OSにおけるカーネルとは カーネルはOSの中核プログラムであるだけでなく、ブートローダーの実行後に最初に読み込まれるプログラムでもあり