C# プログラムは、1 つ以上のファイルで構成されます。 各ファイルには、0 個以上の名前空間が含まれています。 名前空間には、クラス、構造体、インターフェイス、列挙型、デリゲートなどの型、またはその他の名前空間が含まれています。 次の例は、これらの要素をすべて含む C# プログラムのスケルトンです。
using System;
Console.WriteLine("Hello world!");
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
}
前の例では、プログラムのエントリ ポイントに 最上位レベルのステートメント を使用しています。 最上位レベルのステートメントを含めることができるファイルは 1 つだけです。 プログラムのエントリ ポイントは、そのファイル内のプログラム テキストの最初の行です。 この場合は、 Console.WriteLine("Hello world!");
です。
次の例に示すように、 Main
という名前の静的メソッドをプログラムのエントリ ポイントとして作成することもできます。
// A skeleton of a C# program
using System;
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world!");
}
}
}
その場合、プログラムは Main
メソッドの最初の行で開始されます。 Console.WriteLine("Hello world!");
式とステートメント
C# プログラムは、式とステートメント を 使用してビルド されます。 式は値を生成し、ステートメントはアクションを実行します。
式は、1 つの値に評価される値、変数、演算子、メソッド呼び出しの組み合わせです。 式は結果を生成し、値が必要な場所であればどこでも使用できます。 式の例を次に示します。
-
42
(リテラル値) -
x + y
(算術演算) -
Math.Max(a, b)
(メソッド呼び出し) -
condition ? trueValue : falseValue
(条件式) -
new Person("John")
(オブジェクトの作成)
ステートメントは、アクションを実行する完全な命令です。 ステートメントは値を返しません。代わりに、プログラム フローの制御、変数の宣言、操作の実行を行います。 ステートメントの例を次に示します。
-
int x = 42;
(宣言ステートメント) -
Console.WriteLine("Hello");
(expression ステートメント - メソッド呼び出し式をラップします) -
if (condition) { /* code */ }
(条件ステートメント) -
return result;
(return ステートメント)
主な違い: 式は値に評価され、ステートメントはアクションを実行します。 メソッド呼び出しなどの一部のコンストラクトは、両方にすることができます。 たとえば、 Math.Max(a, b)
は int result = Math.Max(a, b);
で使用される場合は式ですが、 Math.Max(a, b);
として単独で記述すると式ステートメントになります。
ステートメントの詳細については、「 ステートメント」を参照してください。 式形式のメンバーとその他の式の機能については、「 式形式のメンバー」を参照してください。
関連セクション
これらのプログラム要素については、基礎ガイドの 「型 」セクションで学習します。
C# 言語仕様
詳細については、「C# 言語仕様の基本概念」を参照してください。 言語仕様は、C# の構文と使用法の決定的なソースです。
.NET