PHPからC#へ使う言語がかわったので、詰まった箇所をまとめてみました。
GetとSet
Get:読み込み専用。
Set:書き込み専用。
エンコードとデコード
エンコード:データを他の形式へ変換すること。
デコード :エンコードされたデータを元の形式に戻すこと。
List
コレクション (collection)
配列のように複数のデータを扱えるようにした集まりのこと。
(PHPでの配列に近いイメージ)
ジェネリックコレクション
型に依存しないで記述する為の仕組みの集合体
SystemCollectionsGenericList 名前空間
ジェネリックコレクションを定義するインターフェイスとクラスが含まれています。
次のようなコレクションが定義されています。
コレクション | 説明 |
---|---|
List | リスト (最も基本的なコレクション:Array的なの) |
Dictionary | ディクショナリ (キー付きコレクション:連想配列的なの) |
Stack | スタック (後入れ先出しコレクション) |
Queue | キュー (先入れ先出しコレクション) |
型パラメータ<T>を持つコレクションを、ジェネリックコレクション(generic collection)という。
リストに格納する要素の型を指定します。
よくここでは 「暗黙的に型を変換できません」という旨のエラーがでます。
(型変換=キャストと言います。)
//初期化しましょう
List <String> sampleMethod = new List<String>();
//Listに入っているuser_name(String型)をとる
String userName =sampleMethod.Result.user_name
LINQ(リンク)
クエリ構文/メソッド構文の2種類の書き方がある。
LanguageINtegratedQuery:統合言語クエリの略。
オブジェクト・XML、DBなどへ様々な手段でアクセスする仕組みです。
(DBから取得した値をSQL的な書き方で、データを抽出しました。)
**クエリ構文**
//結果:booksテーブルの中で、価格が2000円以上の本のタイトルを取得する。
FROM hoge in Books
WHERE hoge.price < 2000
SELECT hoge.title
From 範囲変数 in データソース
データソースとはデータの入手元となる接続先。DBの中身。
hogeに当たる部分を範囲変数という。データソースに含まれるここの要素を一時的に格納する変数のこと。
ラムダ式
匿名メソッドを簡略化して記述したもの。
引数の型記述を省略できる特徴がある。
中身が一行の場合{}、returnを省略できる。
**書き方**
(引数の型)=>{メソッド本体}
デリゲード
「こんな型のメソッドを呼び出したい」ということだけ定義する。
後でそのメソッドの実体をセットしたほうが都合が良い場合に使う。
デリゲートの基本より引用
LINQからの文章は以下のページが参考になりました。
私はこうしてLINQ・ラムダ式を理解できた(C#)