リテラル
下のC#コードにおいて、7, 3.14, true, "hello"がそれぞれの型のリテラルである。
C#ではリテラルもオブジェクトであり、以下のようにメソッドを呼び出すこともできる。
出力結果は以下のようになる(C#の組み込み型は、.NETのCLR型へのエイリアスである)。
"this is a string literal"のようにダブルクォートや、シングルクォートで文字列を囲む場合が多いが、一つの言語に複数の記述法があり、特殊な記法が用意される場合もある。その際にはエスケープシーケンスの処理、文字列補間(式展開)の有無、文字列の終わりの解釈などがそれぞれ異なる。
また、改行やホワイトスペースをそのまま反映する文字列リテラルの記法をヒアドキュメントと呼ぶ。特にプログラミング言語のソースコード内にスクリプト言語やデータ記述言語のソースコードを文字列として記述したり、正規表現を文字列として記述したりするときに便利である。C++11では生の文字列リテラル (raw string literal) と呼ばれる。C#ではもともと逐語的文字列リテラル (verbatim string literal) と呼ばれる機能が備わっていたが、C# 11ではさらにダブルクォートのエスケープも不要となる生文字列リテラルの機能が追加された。
コンピュータプログラミング言語においてリテラルは、ソースコード内に値を直接表記したものをいう。言語によってリテラルとして表記できる型の種類や表記方法は異なる。簡略に記述できることが好まれるスクリプティング言語はリテラルの種類が多い傾向にある。リテラル表記ができるかどうかはその型が第一級オブジェクトかどうかを検討する材料にもなるが、必ずしもそうとは限らない。静的に構文解析が可能なことが多いためシンタックスハイライトではたいてい色分けされる。なお言語によっては(標準規格等で)このリテラルのことを指して「定数」という用語を使っている場合もあるが、「リテラル」という語と使い分ける場合は、「定数」とは「初期化できるだけで、その後は値を変えられない変数」というようなものを指す。