C# によるプログラミング入門です。C# 初心者の方はもちろん、これからプログラミングを始めようという方も対象としています。
unsafe コード 従来のプログラミング言語でポインターを必要としていた場面のほとんどは、 他の機能で代替することが出来るため、 C# や Java 言語にとってポインターは必須なものではありません。 そのため、Java 言語ではポインターを完全に廃止しています。 しかし、C# ではプログラムの効率化と従来のプログラミング言語との相互運用を目的として、 制限付きながらポインターの使用可能にしてあります。 まず、ポインター使用における制限ですが、 C# では unsafe キーワードを用いて宣言されたメソッドもしくはブロック内(このようなコードを unsafe コードと呼びます)でしかポインターを使用できません。 メソッドに unsafe 修飾子を付けることでそのメソッド内部は unsafe コードとなり、 そのメソッド内でポインターを使用できるようになります。 また、unsafe{} と
実装上、ほとんどのものが、生成メソッドの名前と、NodeType 列挙子の名前はそろえてあるようです。 (条件演算子とメンバーアクセスだけ例外。 条件演算子は Expression.Condition で生成するけど、NodeType は Conditional。 メンバーアクセスは Expression.MakeMemberAccess で生成するけど、NodeType は MemberAccess。) 下準備 百聞は一見にしかずということで、 次節以降では、ラムダ式と式木の対応関係を実例を挙げて紹介していきます。 それに先立って、いくつか補助関数や変数を用意しておきます。 まず、Expression 型を作りやすくするために (型推論が働きやすくするために)、 以下のような補助関数を用意します。 static partial class Make { public static Exp
概要 Ver. 3.0 「LINQ」で、 構文の追加(クエリ式): C# 3.0 で、SQL 風の問い合わせ構文が書けるようになった。 メソッド群の追加(標準クエリ演算子): クエリ式は、Where、Select などのメソッド呼び出しに変換される。(これらのメソッドを標準クエリ演算子と呼ぶ。) という話をしました。 ここでは、 どういう C# クエリ式がどういう標準クエリ演算子(メソッド呼び出し)に変換されるかを説明しつつ、 クエリ式に関係する標準クエリ演算子を紹介します。 (ちなみに、標準クエリ演算子の中には、クエリ式で表せない (メソッド呼び出しの形でしか使えない)ものも多数あります。 次節の「標準クエリ演算子(その他)」で説明。) サンプルデータ 次節以降の説明では、例として以下のようなデータを使います。 var a = new[] { new { X = 0, Y = 10, Z
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く