Garath

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

遅延初期化 Lazy & LazyInitializer

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

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

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

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

.NET5 開発環境の作り方2020年11月10日(日本時間だと11日)に、.NET 5.0の正式版がリリースされました。Announcing .NET 5.0Visual 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.基底クラス側の通常のメソッド等に対しnew指...
非同期

タイマーは5種類

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

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

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

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

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...
基本用法

数値型 C#での基礎知識

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

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

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