c#

コンピュータ

C#で画像ファイルをリサイズ(拡大・縮小)するCLIコマンド

コマンドラインから画像ファイルをリサイズ(拡大・縮小)します。プロジェクトの作成mkdir ImgResizecd ImgResizedotnet new consoledotnet add package System.CommandLi...
コンピュータ

C#で画像ファイルをグレイスケール化するCLIコマンド

コマンドラインで画像ファイルをグレイスケールに変換します。プロジェクトの作成mkdir ImgToGraycd ImgToGraydotnet new consoledotnet add package System.CommandLine...
コンピュータ

C#のコマンドライン引数をパースするライブラリ「System.CommandLine」を試す。

CLIのアプリケーションを作成していて実行時のパラメータをコマンドライン引数として渡す必要が出てきました。コマンドライン引数は、アプリケーションのエントリーポイントであるMainメソッドの引数として文字列の配列として渡されます。ファイルのパ...
スポンサーリンク
コンピュータ

C#のWinFormsでZipファイルのコメントを編集する。

.NETのZipArchiveがいつの間にかコメントのプロパティが出現していたので(昔からあった?)Zipファイルのコメントを編集するフォームを作成してみました。ソースコードファイル名:Program.csusing System.IO.C...
コンピュータ

C#リフレクションを使ってインスタンスのメソッドを実行

OpenCVのフィルターを任意の順番で実行するUIを作っていて、データソースで悩んでいます。実行順番のことを考えるとListなどの要素の順番をもつ構造のコレクションが良さそうですが、要素となるフィルターをオブジェクト化しようとすると、異なる...
コンピュータ

C#のSystem.Text.Jsonでオブジェクトをシリアライズしてみる。

Objetusing System.Text;using System.Text.Json;string path = "JsonSample01.json";var encoding = Encoding.GetEncoding("utf...
コンピュータ

C#のListをJSON形式でシリアライズ・デシリアライズする2。「型を確認する」

前回インターフェイスのデシリアライズに失敗しましたので対策を考えてみたいと思います。まずListの要素の型を確認します。TはISampleBaseですが各要素に対してGetType()メソッドを実行しどの型になるか確認します。using S...
コンピュータ

C#のList<T>をJSON形式でシリアライズ・デシリアライズする。

List<T>のTをインターフェースにしたオブジェクトをJSON形式でシリアライズ・デシリアライズ出来るのか確認してみます。予想ですがシリアライズは出来てもデシリアライズは無理そうな気がします。まずはシリアライズしてみます。using Sy...
コンピュータ

C#でzipファイルをバイナリデータとして読み込んでみる。

C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました。...
コンピュータ

C#のList<T>とインターフェイス

インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。using System.Collections.Generic;names...
コンピュータ

C#でWPF学習中「WPFプロジェクトを作成するスクリプト3」

前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとReac...
コンピュータ

C#でzipファイル内のファイルを削除

ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。ソースコードusing System.IO.Compression;const string zipfile = ...
コンピュータ

C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。

WPFでINotifyPropertyChangedを使ってみたことがありました。その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinFor...
コンピュータ

ファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」

SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN...