基本文法

スポンサーリンク
基本文法

インタフェース(C#8.0以降の追加文法)

C#8.0からインタフェースに大幅な機能追加が行われましたC#8.0以前のインタフェースはシグネチャだけを集めた純粋仮想関数みたいなものでしたが、C#8.0以降のインタフェースはインスタンスフィールドを持てない抽象クラスのような感じです。※...
基本文法

イテレーター 実装方法とその中身

イテレーターイテレーターとは反復子ともいわれ、集合の個々の要素に対して繰り返し処理を行うためのものです。C#言語においては、主にforeachで使われるためのものであり、以下のように定義されます。戻りの型は以下の4つのうちのいずれかのインタ...
基本文法

反復処理 基本文法とその用例

C#言語には集合に対する繰り返し処理の記述方法はいろいろあります基本的な制御構文Do-While,While,For といったおなじみの制御子構文はC#も同じですint[] list = { 1,2,3,4,5,6,7,8,9,10};in...
基本文法

アクセス修飾子と若干の例外

アクセス修飾子アクセス修飾子とは、型やそのメンバの公開範囲を指定するもの4種とその組み合わせをもつ2種の計6種public公開どこからでもアクセス可能protected保護同じクラス内(構造体内)とその派生クラスからのみアクセス可能inte...
基本文法

Tuple 複数の値をひとまとめ

タプル型C#7で追加された機能.NET 4.7版以前の場合はSystem.ValueTupleをNugetする必要あり複数の値をひとまとめにするための匿名の構造体のようなもの。メソッドから複数の値を返す場合に数多の構造体定義を行う手間が省け...
基本文法

変数の型 object, var, dynamic

強い型付け(タイプセーフ)C#言語は、基本的には強い型付け(または静的型付け)の言語とされています。これは、宣言される変数の型と、そこへ代入されるインスタンスの型は一致若しくは継承関係がある必要があるからです。interface Car{ ...
基本文法

デリゲートとイベントとその使い方と

デリゲート・メソッドを参照するための型・C/C++でいうところの関数ポインタのような感じ class Program { // デリゲートの宣言 シグネチャ(戻値と引数リスト)が指定できればOK delegate void SampleDe...
基本文法

継承 基本の使い方

継承継承とはオブジェクト指向言語で重要な概念であるポリモーフィズムを実現するものであり、親となるクラス(基底クラス)を指定することにより派生クラス側では親クラスの機能と自身のクラスに定義された機能とが使えるようになる機能です。・値型は継承で...
基本文法

匿名関数とローカル関数 使用頻度が高い

匿名関数匿名メソッド式とラムダ式を合わせて匿名関数(Anonymous functions)という匿名メソッド(anonymous method)class Sammple { static void SampleMethod(string...
基本文法

ジェネリック(ジェネリクス) 制約がまた増えた

ジェネリック(ジェネリクス)ジェネリック(ジェネリクス)とは、型パラメータを指定することにより、その型に応じたクラスやメソッドなどを実現する機能のこと。&ltT>のようにで指定する。ジェネリッククラスとジェネリックメソッドclass Gen...
基本文法

C#言語の演算子 誤用しやすいのと新しいのと

C#言語に定義されている多くの演算子は、その系譜であるDelphiやC/C++といった言語と同じようなものです。ここでは、あまり見かけないものや最近追加されたものを簡単に紹介します。詳細は以下の公式で確認下さい。公式ページはこちら C#演算...
基本文法

NULL許容値型とNULL許容参照型

NULL許容値型最近まではNULL許容型と言っていた筈ですが、いつの間にやらNULL許容値型と呼称が変わってました。これはC#8.0で追加されたNULL許容参照型の影響なのでしょう。参照型の変数を宣言した場合、その値はNULLになります。英...
基本文法

インデクサ 実装例と汎用定義と

インデクサクラスや構造体のインスタンスに対し、配列のように添え字でアクセスできるようにするための文法。他のプログラミング言語でも見かけない珍しいものですが、使いどころもあまりないかも。文字例の例C#言語の文字列もインデクサを実装しているので...
基本文法

列挙体 基本定義と変換

列挙体列挙体は列挙子リストという定数の集合から成るSystem.Enumを暗黙的に継承するちょっと特殊な値型(このEnumに定義されるメソッド群を使えます)定義した列挙体を継承することはできないenum TrafficSignal { Bl...
基本文法

プロパティ フィールドのようなメソッドのような

プロパティプログラミング言語においてプロパティという用語は多義的に使われますが、C#言語においてはアクセッサーの機能を持つ文法です。Java言語やC++言語といった他のメジャーなプログラミング言語にはない機能です。クラスが持つ状態を表すフィ...
スポンサーリンク