Garath

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

遅延初期化 Lazy & LazyInitializer

通常の初期化処理はコンストラクタ等で行います。 初期化コストの大きなものや、使うとも限らない機能などは、最初に準備せずとも必要になったら準備できればよい。 このように初期化の契機を遅らせる実装を遅延初期化と言います。 // 大きいクラスと仮...
基本用法

再帰呼出し ラムダで簡単に

再帰呼出しは、メソッドの中からそのメソッド自身を呼び出す類の処理のことを言います。 階乗計算やフィボナッチ数列の例ばかりが見つかりますが、他にもいろいろと活躍の場が多い実装方式です。 ここではフォルダ内の全てのファイルパスをリスト化するサン...
その他

.NET 5 開発環境作成手順(画像あり)

.NET5 開発環境の作り方 2020年11月10日(日本時間だと11日)に、.NET 5.0の正式版がリリースされました。 Announcing .NET 5.0 Visual Studioで.NET 5.0用のアプリケーションを作成する...
基本文法

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

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

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

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

ボックス化とボックス化解除とそのコスト

ボックス化とボックス化解除 C#言語では、すべての型はSystem.Objectクラスから派生しており、継承関係のある型は代入が可能です。 これは、値型である構造体などを派生型であるObject型へ変換可能なことも意味しています。 このよう...
基本用法

呼び出し元の情報取得

Caller Info属性 .NET Framework 4.5 から追加された機能です 以下のサンプルコードのように、引数にinfo属性とデフォルト引数とを付与したパラメタを追加するこにより、コンパイル時に呼び出し元の情報を取得することが...
基本用法

Build-In型(組み込み型)とC#キーワード

C#キーワードとBuild-In型 C#言語には、多くのBuild-In型(組み込み型)が定義されており、それぞれのBuild-In型はそれに対応するC#キーワードを持ちます。 これらは基本的には全く同じものを指し、いわゆるエイリアス(別名...
基本用法

継承 どちらが実行されるのか

基底クラスと継承クラス(派生クラス)との関係 基底クラスに定義されたメンバを継承クラスで上書きするには以下の2通りある 1.基底クラス側でvirtual指定し継承クラス側でoverride指定する 2.基底クラス側の通常のメソッド等に対しn...
非同期

タイマーは5種類

はじめに 一定の間隔を置いて処理を実行させるためにはタイマーを使います C#の標準ライブラリには5種類(4種類)のタイマーがあります。 その前に 実行スレッド 一定間隔毎に実行される処理をハンドラ内に定義します。これがどのスレッドで実行され...
基本用法

コンストラクタとデストラクタとそのあたり

コンストラクタ インスタンス生成時に自動で実行される 戻り値なし・型名と同名・引数は任意で定義 ※構造体については構造体の記事を参照のこと class Member { public int ID { get; set; } public ...
基本文法

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

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

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

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

数値型 C#での基礎知識

数値型の基本 プログラミングで数値は重要ですが、算数や数学の世界とは扱いがちょっと違う ここではC#言語で数値を扱うのに必要なあれこれをまとめて紹介してます C#(.NET)の数値型は構造体として定義されている int型はC#の型であり、....
基本用法

型変換 だいたい全部のやり方

基本 C#言語の変数はコンパイル時に型が決まる静的型付け言語なので、異なる型の変数への代入はできない int number = 10; string name = "Ken"; // これは型が違うのでコンパイルが通らない // name ...
スポンサーリンク