c#

コンピュータ

C#クラスの委譲とインターフェイス

グラフィックビューワを作っていて、画像の表示を「単ページ」や「見開き表示」、「半分表示」などいくつかの表示モードの切り替え機能を設けたいと思います。方法として表示モードのフラグに合わせてコードを分岐するようにプログラミングする方法が思いつき...
コンピュータ

C#でusingを利用し終了処理を強制する。

オブジェクトの初期化処理はクラスのコンストラクタで記述すればよいですが、終了処理をどこに記述するとよいでしょうか? コンストラクタと対になるデストラクタがありますが、.NETの場合メモリ管理をシステムが自動的に行っている関係上、デストラクタ...
コンピュータ

PowerShellでアプリケーションアイコンを作ってみる2。csproj作成

PowerShellでアイコンを作ることが出来ましたので、アイコンを組み込んだプロジェクトのようなものを作成してみます。 <# .SYNOPSIS .csproj新規作成 .EXAMPLE New-Csproj-ProjectNameプロジ...
コンピュータ

PowerShellでアプリケーションアイコンを作ってみる。

ビットマップからアイコンを取得することが出来るようなので試してみました。 $outPath = "./output.ico" $Bitmap = ::new(64, 64, ::Format24bppRgb) $g = ::FromImag...
コンピュータ

C#でListなオブジェクトをXMLにシリアライズする

ユーザークラスのList<T>をXMLにシリアライズするサンプルです。 using System; using System.Collections.Generic; using System.Text; using System.IO; ...
コンピュータ

C#でZipファイルを扱うサンプル

.Netのライブラリを使うとzipファイルの作成や展開だけでなく、通常のファイルシステムの様にzipアーカイブ内のファイルの読み書きが出来たりします。 基本的な機能をサンプルとして書き起こしてみました。 using System; usin...
コンピュータ

PNGファイルの圧縮率と展開速度

PNGファイルの圧縮率を高めるとファイルサイズは小さくなり、その分、短時間で読み込めます。 しかし圧縮を展開するために処理時間が必要となります。 では、高圧縮と低圧縮でどちらが画像のロード時間が短いでしょうか? 処理するパソコンの能力に依存...
コンピュータ

C#双方向リスト(LinkedList)を試す。

.NETのAPIを眺めていたらLinkedListを見つけました。 データを格納するコンテナの一種なのですが、インデックスで要素にアクセスするList<>ともキーでアクセスするDictionary<>とも異なります。 サンプルプログラムを作...
コンピュータ

C#正規表現を使ったマッチングを試す。

C#でも.NETのライブラリを使ったマッチングをすることが出来ます。 スクリプト系の言語と比べると書式が若干長めだったりもしますが、正規表現が使えることで文字処理が格段に楽になります。 正規表現を用いた機能の中からよく使いそうな機能のサンプ...
コンピュータ

C#ファイルの一覧を取得しLinqで加工してみる。

System.IO.Directoy.EnumerateFiles(<String>)を使うとディレクトリ内のファイルの一覧を取得することが出来ます。戻り値はIEnumerable<String>型でforeach出来る配列なような代物です...
コンピュータ

C#ディレクトリ内の画像ファイルを絞り込む

ディレクトリ内にある.jpgや.pngなど画像ファイルの拡張子をもつファイルを絞り込みたい。 //  // ディレクトリ内の画像ファイルを絞り込む //  using System; using System.Collections.Gen...
コンピュータ

C#ファイルパス関連メソッド「ファイル名、拡張子、親ディレクトリ取得」

名前空間 System.IO クラス名 System.IO.Path メソッド System.IO.Pathのメソッドは基本的に実際ファイルやディレクトリの存在の有無は関係なく、ファイルパス文字列を操作します。 ファイル名を取得 Path....
コンピュータ

C#のclassでアクセス修飾子を省略する

C#でclassのメンバーを記述する際、privateやpublicなどのアクセス修飾子を省略してしまいがちです。 きっちりと指定しないと後で自分が困るので省略しないほうが良いのは理解しているのですが、困らない限り省略する方向でコーディング...
コンピュータ

C#で画像にテキストを描画するプログラム

DrawStringメソッドを使ってビットマップにテキストを描画してみます。 ソース ファイル名:icatchgen.cs using System; using System.Drawing; /** <summary>画像にテキストを描...