次の方法で共有


C# の概要 - 対話型チュートリアル

このチュートリアルでは、ブラウザーを使用して C# を記述し、コードをコンパイルして実行した結果を確認しながら、C# を対話形式で説明します。 「Hello World」プログラムで始まる一連のレッスンが含まれています。 これらのレッスンでは、C# 言語の基礎について説明します。

ヒント

コード スニペット ブロックに [実行] ボタンが含まれている場合、そのボタンによって対話型ウィンドウが開くか、対話型ウィンドウ内の既存のコードが置き換えられます。 スニペットに [実行] ボタンが含まれていない場合は、コードをコピーして現在の対話型ウィンドウに追加できます。

最初のプログラムを実行する

対話型ウィンドウで次のコードを実行します。

Console.WriteLine("Hello, World!");

おめでとうございます! 最初の C# プログラムを実行しました。 "Hello World!" というメッセージを出力する簡単なプログラムです。Console.WriteLine メソッドを使用してそのメッセージを出力しました。 Console は、コンソール ウィンドウを表す型です。 WriteLine は、テキストの行をそのテキスト コンソールに出力する Console 型のメソッドです。

次に進み、さらに詳しく調べてみましょう。 このレッスンの残りの部分では、C# のテキストを表す string 型の操作について説明します。 Console 型と同様に、string 型にはメソッドがあります。 string メソッドはテキストで動作します。

変数を宣言して使用する

最初のプログラムでは、画面に string "Hello World!" が印刷されました。

ヒント

C# (または任意のプログラミング言語) を調べるときに、コードを記述するときに間違いを犯します。 コンパイラ はこれらのエラーを見つけて報告します。 出力にエラー メッセージが含まれている場合は、コード例と対話型ウィンドウのコードをよく見て、修正する内容を確認します。 この演習は、C# コードの構造を学習するのに役立ちます。

最初のプログラムは、1 つのメッセージの印刷に限定されます。 変数を使用して、より便利なプログラム記述できます。 変数 は、異なる値で同じコードを実行するために使用できるシンボルです。 試してみましょう。 次のコードから始めます。

string aFriend = "Bill";
Console.WriteLine(aFriend);

最初の行は変数を宣言し、aFriendし、値 "Bill" を割り当てます。 2 行目は名前を出力します。

宣言する任意の変数に異なる値を割り当てることができます。 名前はフレンドのいずれかに変更できます。 前の対話型ウィンドウで、既に追加したコードの後に、これら 2 行を追加します。 aFriend 変数とその初期代入の宣言は必ず保持してください。

重要

aFriendの宣言を削除しないでください。 前の対話型ウィンドウの末尾に次のコードを追加します。

aFriend = "Maira";
Console.WriteLine(aFriend);

同じコード行で、aFriend 変数に格納されている値に基づいて、2 つの異なるメッセージが出力されます。

最後の 2 つのメッセージに "Hello" という単語が見つからないことに気付く場合があります。 今すぐ修正しましょう。 メッセージを出力する行を次のコードに変更します。

Console.WriteLine("Hello " + aFriend);

[実行] をもう一度選択して、結果を表示します。

+ を使用して、変数 および定数 文字列 から文字列を構築してきました。 より良い方法があります。 { 文字と } 文字の間に変数を配置して、そのテキストを変数の値に置き換えることを C# に指示できます。

このプロセスは、文字列補間と呼ばれます。

文字列の開始引用符の前に $ を追加すると、中かっこの間の文字列内に、aFriendなどの変数を含めることができます。 試してみてください。

[実行] をもう一度選択して、結果を表示します。 "Hello {aFriend}" の代わりに、メッセージは "Hello Maira" にする必要があります。

Console.WriteLine($"Hello {aFriend}");

文字列を操作する

最後に編集したものは、私たちが文字列でできることを最初に確認した例でした。 詳しく見てみましょう。

波括弧の間にある変数は1つに限定されません。 次のコードを試してください。

string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");

文字列は、文字のコレクションを超えています。 文字列の長さは、Lengthを使用して確認できます。 Length は文字列の プロパティ であり、その文字列内の文字数を返します。 対話型ウィンドウの下部に次のコードを追加します。

Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");

ヒント

今はあなた自身で探検するのに良い時期です。 Console.WriteLine() が画面にテキストを書き込むという学習を行いました。 変数を宣言し、文字列を連結する方法について学習しました。 対話型ウィンドウで実験します。 このウィンドウには、IntelliSense と呼ばれる機能があり、実行できる操作を提案します。 firstFriendd の後に . を入力します。 使用できるプロパティとメソッドの候補の一覧が表示されます。

メッセージを出力するために、メソッドConsole.WriteLineを使用しています。 メソッド は、何らかのアクションを実装するコード ブロックです。 名前が付いているので、アクセスできます。

Trim

文字列の先頭または末尾に、表示しないスペースがあるとします。 それらのスペースを文字列からトリミングしたいと考えています。 Trim メソッドと関連する TrimStart および TrimEnd メソッドは、その作業を行います。 これらのメソッドを使用して、先頭と末尾のスペースを削除できます。 次のコードを試してください。

string greeting = "      Hello World!       ";
Console.WriteLine($"[{greeting}]");

string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");

角かっこ [] は、TrimTrimStart,、および TrimEnd メソッドの実行内容を視覚化するのに役立ちます。 角かっこは、空白の開始位置と終了位置を示しています。

このサンプルでは、文字列を操作するためのいくつかの重要な概念を強化します。 文字列を操作するメソッドは、変更を行う代わりに新しい文字列オブジェクトを返します。 Trim メソッドを呼び出すたびに、新しい文字列が返されますが、元のメッセージは変更されないことがわかります。

Replace

文字列を操作するために使用できる他のメソッドがあります。 たとえば、以前はエディターやワード プロセッサで検索コマンドと置換コマンドを使用した可能性があります。 Replace メソッドは、文字列内で同様のことを行います。 部分文字列を検索し、別のテキストに置き換えます。 Replace メソッドは、2つのパラメーターを受け取ります。 これらのパラメーターは、かっこの間の文字列です。 最初の文字列は検索するテキストです。 2 番目の文字列は、置き換える文字列です。 自分で試してみてください。 このコードを追加します。 sayHello 変数の後ろに .Re と入力するとヒントが表示されます。

string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);

他の 2 つの便利なメソッドは、文字列 ALL CAPS またはすべての小文字を作成します。 次のコードを試してください。 入力して、To と入力し始めると IntelliSense でどのようにヒントが表示されるかを確認します。

Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());

検索文字列

検索と置換 操作のもう 1 つの部分は、文字列内のテキストを検索することです。 Contains メソッドを使用して検索できます。 文字列内に部分文字列が含まれているかどうかを示します。 Containsを調べるには、次のコードを試してください。

string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));

Contains メソッドは、検索していた文字列が見つかったかどうかを示す ブール 値を返します。 ブール値truefalse どちらかの値を格納します。 テキスト出力として表示される場合は、それぞれ大文字(TrueFalse)になります。 ブール値については、この後のレッスンで詳しく学習します。

課題

StartsWithEndsWith の 2 つの同様のメソッドがあり、文字列内の部分文字列も検索します。 これらのメソッドは、文字列の先頭または末尾に部分文字列を検索します。 Containsの代わりに StartsWithEndsWith を使用するように前のサンプルを変更してみてください。 文字列の先頭に "You" または "goodbye" を検索します。 文字列の末尾に "hello" または "goodbye" を検索します。

手記

文字列の末尾にあるテキストをテストするときは、句読点を確認します。 文字列がピリオドで終わる場合は、ピリオドで終わる文字列を確認する必要があります。

"You" で始まり、"hello" で終わる true を取得し、"goodbye" で開始または終了するための false を取得する必要があります。

あなたは次のように思いつきましたか(答えを見るには展開してください):

:::code language="csharp" interactive="try-dotnet-method" source="./snippets/HelloWorld/Program.cs" id="Challenge":::

C# の概要に関するチュートリアル「Hello C#」を完了しました。 C# チュートリアルの 番号を選択して次の対話型チュートリアルを開始するか、.NET サイト にアクセスして .NET SDK をダウンロードし、コンピューターにプロジェクトを作成し、コーディングを続けることができます。 「次のステップ」セクションでは、これらのチュートリアルに戻ります。

string タイプの詳細を読むには以下をご参照ください。