MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C Sharpその他 - 使用してはいけない機能のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C Sharpその他 - 使用してはいけない機能
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == C#も.NET Frameworkも日々更新されている。<br> いくつかの構文やライブラリは、完全に過去のものとなっている。(互換性のためだけに残されている)<br> そのため、一部の構文やライブラリは、別のもので置き換えた方がよい。<br> <br><br> == 使用すべきでないもの == ===== 非ジェネリック コレクション ===== <span style="color:#C00000">'''ポイント : 非ジェネリック版のコレクションは使用すべきでない。'''</span><br> <br> C# 2.0でジェネリックが導入されると同時に、ジェネリック版のコレクションが導入された。<br> そのため、非ジェネリック版のコレクションを使うメリットは一切無いので、使わないようにする。<br> <br> また、非ジェネリック版からジェネリック版では、名称が変わっているものもあるので気を付けること。<br> <br> ※ジェネリック版にArrayListに相当するものがないという誤解もあるが、List<T>がこれに相当する。<br> <br> 対比表を下表に示す。<br> 非ジェネリック版はSystem.Collections名前空間、ジェネリック版はSystem.Collections.Generics名前空間で定義されている。<br> <br> <center> '''コレクションの非ジェネリック版とジェネリック版の対比'''<br> {| class="wikitable" |- ! 非ジェネリック版 !! ジェネリック版 !! 概要 |- | ArrayList || List<T> || 要素を配列で持っておいて、配列の長さが足りなくなったら配列を作りなおすリスト。<br>要素の順序を保つコレクション。 |- | なし || LinkedList<T> || 双方向連結リスト。 |- | Stack || Stack<T> || 後入れ先出し(LIFO: Last In First Out)コレクション。 |- | Queue || Queue<T> || 先入れ先出し(FIFO: First In First Out)コレクション。 |- | Hashtable || Dictionary<TKey, TValue> || ハッシュテーブル方式で要素を管理する辞書<br>キーで値を検索可能なコレクション。 |- | なし || SortedDictionary<TKey, TValue> || 二分探索木方式で要素を管理する辞書。 |- | SortedList || SortedList<TKey, TValue> || 整列済み配列で要素を管理する辞書。 |- | セル内のテキスト || HashSet<T> || (.NET 4以降) ハッシュテーブル方式で要素を管理するセット。<br>要素を含むか含まないかだけを管理するコレクション。 |- | セル内のテキスト || SortedSet<T> || (.NET 4以降) 二分探索木方式で要素を管理するセット。 |} </center> 現在、System.Collections名前空間にあるもので使用できるものは、BitArrayクラス程度である。<br> 実際、Silverlight等の後発のフレームワークでは、BitArray以外の非ジェネリック版のコレクションは削除されている。<br> <br> ===== 匿名関数 ===== <span style="color:#C00000">'''ポイント : 匿名メソッド式にメリットはない。'''</span><br> <br> C#では、匿名関数を作るための構文として、2種類のものが存在する。<br> <br> 匿名メソッド式でできることは、全てラムダ式でもできる。<br> ラムダ式の方が高機能であり、匿名メソッド式ではできないこともできる。<br> また、ラムダ式の方が記法が簡素で使いやすいので、匿名メソッド式を使うメリットは全く無い。<br> <br> '''・匿名メソッド式(C# 2.0以降)'''<br> <source lang="c#"> Func<int, int> f1 = delegate(int x) { return x * x; }; </source> <br> '''・ラムダ式(C# 3.0以降)'''<br> <source lang="c#"> Func<int, int> f2 = x => x * x; </source> <br><br> __FORCETOC__ [[カテゴリ:C_Sharp]]
C Sharpその他 - 使用してはいけない機能
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse