全角(漢字)にしてはいけません。全角(漢字)の文章を入れた場合、かならず半角に戻して入力しましょう。●usingusingキーワードは,プログラムの処理の流れには直接関係ありません。その代わり,プログラム全体にわたってどのライブラリを利用するかを明確にする役割があります。Framework」のライブラリを利用してアプリケーションを作ります。Frameworkでは,ライブラリの各機能を処理内容ごとにツリー状のグループに分類して管理します。パソコンでファイルを管理するときに目的別のフォルダを用意して分類・整理しておくのと似た状態を想像すればいいでしょう。Frameworkのライブラリでは「名前空間」と呼びます。●名前空間(namespace)usingの次に出てくるnamespaceは,それに続くブロックが所属する名前空間を指定するキーワードです。usingのところで,標準ライブラリがSystem以下の名前空間に属していることを説明しましたが,自分で作るプログラムも必ずどこかの名前空間に所属させます。●classclassは,C#プログラムを構成する最小単位である「クラス」を定義するキーワードです。namespaceのブロック内に書かれます。C#プログラムの大部分はこのようなクラス定義の集まりです。●メソッド(method)メソッドはクラス内で実行される具体的な処理を一つにまとめて名前を付けたものです。メソッドはクラス定義ブロックの中にいくつでも作れます。メソッドの中でほかのメソッドを呼び出したり,ほかのクラスを利用するといったことも可能です。Mainという名前のメソッドには特別な役割があります。プログラムを起動したときには自動的にMainメソッドが実行されるのです。●//(コメント)この構文だけはほかとは異質で,実はC#プログラムに不可欠な要素ではありません。//と書かれた個所から改行までの部分はプログラムの処理の流れからは一切無視されます。この//以降を削除してしまってもプログラムは全く同じように動作します。この一見ムダな行は,プログラム内に動作などをメモしておくプログラマ向けの注釈文です。プログラム内での処理という点では全くムダですが,実際のプログラミングでは読みやすい注釈を記述することがプログラミングの重要なテクニックです。思った通りにプログラムが動かずにミスを探す場合などは,わかりやすいコメントがついているかどうかでミス発見までの作業の効率が大きく変わってきます。他人の作ったプログラムや過去に自分が作ったプログラムを見る場合,処理だけが書かれているのと,適切なコメントがあるのとでは理解のしやすさが大きく違います。2枚以上、eメールで提出する。Data)とは、特定のデータが、一切の著作権、特許などの制御メカニズムの制限なしで、全ての人が望むように利用・再掲載できるような形で入手できるべきであるというアイデアである。「LinkData.org」には、誰でも無償で利用でき、商用利用も可能なオープンデータが豊富にまとまっています。都道府県別で探したり、人気ランキングやキーワードを指定しての検索もできるので、自分が興味のあるデータを探すのも簡単でしょう。LinkDataのサイト内には、全国の「お城データ」や「道の駅データ」、「避難所データ」、「補助金まとめデータ」、「さくら名所データ」...など、意外とユニークで面白いデータがまとまっているので、うまく利用すれば楽しいWebアプリが作れそうです。「ダウンロード」の項目下に、「その他の形式のAPIリストを表示」というリンクがあるのでクリックします。すると、外部APIとしてデータが取得できるURLが一覧表示されます。そこで「JSON」形式のURLをコピーして、実際にブラウザのアドレスバーに入力してみましょう!あとは、このデータをC#を使って、自分のWebアプリに組み込めば良い。Transferの略。Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどである。RESTの世界では、ネットワーク上のコンテンツ(リソース)を一意なURLで表すのが基本。各リソース(URL)に対してGET,POST,PUT,DELETEでリクエストを送信しレスポンスをXMLやjsonなどで受け取る形式(レスポンスのフォーマット形式は指定されていない)。APIをを作る前に先人はどのような設計をしていたのかを見てみましょう。今ではTwitterやfacebook,Github、Amazonなど大きいところではだいたいAPIを提供しているので、お手本は山ほどあります。URL設計やリクエスト・レスポンス、HTTPヘッダなどに着目して見比べてみましょう。APIレスポンスの情報量が多いので、どういった情報を返すべきか参考になります。API一番綺麗にまとまっているAPIだと思います。リクエスト・レスポンスがRESTらしく、とても綺麗。JSONとはJSONとは、JavaScriptにおけるオブジェクトの表記法を応用したデータ形式。JSONで表記されたデータは、JavaScript上ではコードとして実行するだけで読み込みが完了する。JSONでは、データ全体を配列またはJavaScriptにおけるオブジェクト(キーと値のペアを列挙した構造体)として記述する。JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません。少々複雑でも、我々は「表」という記法をしっているため、ある程度の複雑さには対応できます。表で表すのが困難な程度の複雑な構造を持つデータを表現しなければならないことは多々あります。このように、表形式では表現が困難な構造のデータを、人間に対するある程度の可読性を残しつつ、コンピュータに対しても伝達できるような記法、その1つがJSONです。JSON形式で記述したデータのことを、JSON-textといいます。4}C#でJSONNewtonsoft.JsonのインストールC#でJSON扱うときは、いくつ方法があり、ここはNewtonsoft.Jsonののライブラリを使う。NuGetパッケージ管理を開くNewtonsoft.Jsonを選択して、インストールしてください。JSONデータサンプルhttp://wp-api.xyz/wp-json/posts先週のプログラムでサンプルデータを取得するように変更してください。(2)JSONをクラスとして貼り付けJSONのデータ構造をC#のクラス定義に変換する。取得したサンプルデータをコピーして、メニューの「JSONをクラスとして貼り付け」で、プログラムのnamespaceの最後部に貼り付けください。Newtonsoft.Json.Linq;デザイン画面に、「button1」ボタンと、「listBox1」リストボックスを追加してください。デザインのbutton1をダブルクリックし、DeserializeObject処理を入れてください。Formatting.Indented);}実行画面これて、Jsonデータ(ブログの投稿)の取得、Deserialize、そして(ブログID)表示ができた。Webサイトを表示と操作プログラムを作りました。するプログラムを作ります。HTTPとはhttpとは、代表的な通信プロトコルの一つで、インターネット上でWebサーバー(サイトの公開側)と、クライアント(ブラウザ:サイトを閲覧する側)が、相互に通信するために使用される仕組みです。言うと、Webサーバーとクライアント間で、HTML(Webページを作成するための言語)で記載された情報をやりとりするための仕組みです。この「http」がないと、インターネット上のサイトを見ることができなくなるので、今や無くてはならない仕組みとなります。HTTPコマンド主なHTTPコマンドには次のようなものがあります。指定したページの取得を要求します。メッセージヘッダを要求します。サーバー上のデータを削除するHTTPコマンド応答メッセージ主な応答メッセージには、次のようなものがあります。commentbreak文switch文のところでbreakというのが何回も登場しました。switch文での意味は「switch文から抜け出す」という意味でしたね。breakはswitch文以外にもfor文やwhile文のループの中でも使うことが出来ます。この時もbreakは「for文やwhile文のループから抜け出す」という意味を持っています。break文を使って抜けられるのはループひとつだけです。二重、三重のループを抜けるには、その度にbreak文を使うようになります。continue文continueはfor文やwhile文などのループ処理をスキップさせるに用います。breakとは違い、continueはスキップした後は、ループの先頭に戻ります。0;}無限ループwhile(1)とすると、基本的に処理は無限に繰り返されます。これは、条件式が偽の場合は、0、真の場合はそれ以外の値をとることを利用した方法で、無限に繰り返されます。いった無限ループでも、break(ブレイク)があると、ループから出ることができます。電卓のプログラムで無限ループで、繰り返し計算を行います。"加減乗除(+,-,*,/)ができます。0;}forループの2重ループを使っています。最初のループでiが1の時はその下のforループで、jが1から9まで増加させながら、その1の値と掛け合わせた結果を表示しています。九九の計算結果となるわけです。綺麗に九九の表が表示されるというわけです。計算結果の間にスペースがあるのは一つ目のprintfで%2dの前にスペースが入っているからです。ことをグローバル変数(大域変数)ともいいます。変数のスコープの範囲を図で表してみます。赤色で囲った部分がグローバル変数の有効範囲です。青色で囲った部分がローカル変数の有効範囲です。この図ではローカル変数の寿命を関数内と説明しましたが、正確にはブロック内です。ブロックとは、{}で囲まれている範囲のことを指しています。