c#

コンピュータ

C#でアプリを作る場合に必要となる知識の整理【オブジェクトのライフサイクル・アクセス修飾子】

アプリ(WPFでGUI)を作成していてC#の言語的基礎知識を確認する必要があり整理してみました。あくまで筆者の学習している内容ですので、誤り勘違い等があるかもしれませんが、ご了承ください。オブジェクトのライフサイクルライフサイクルという言葉...
コンピュータ

C#のList<T>で要素を入れ替える

C#でコレクションを扱っていると、 並び順を変更したい ドラッグ&ドロップで要素を入れ替えたい 特定の2要素だけを交換したいといった場面があります。この記事では、List<T> の要素を入れ替える方法を紹介します。インデックス指定で入れ替え...
コンピュータ

Mutex と NamedPipe で アプリの二重起動を禁止しながらコマンドライン引数を渡す

メモ帳はなぜタブで開くのかエクスプローラーでテキストファイルをダブルクリックすると、メモ帳が起動し、そのファイルが開かれます。その状態のまま、エクスプローラーで別のテキストファイルをダブルクリックすると、新しいメモ帳は起動せず、既に起動して...
スポンサーリンク
コンピュータ

C#で作る最小DLLプラグイン構成

アプリの機能を拡張する方法として、プラグインという方法があります。Windowsの場合DLLファイルでプラグインを実現することが出来るので、試してみたいと思います。プロジェクトの作成手順作業ディレクトリの作成複数のプロジェクトをまとめたソリ...
コンピュータ

cloneしたGitHubリポジトリを切り離す方法とC#プロジェクト名の変更方法

GitHubのリポジトリで公開されているWPFテンプレートプロジェクトを、Clone → 自分用プロジェクトに変換する定番手順をまとめます。cloneするgit clone cd kareteruhitoリポジトリから切り離す.gitディレ...
コンピュータ

OpenCVSharpで画像ファイルの解像度情報を取得するコンソールアプリ

画像ファイルから、幅、高さ、チャンネル数、種類をJSON形式で出力するコマンドソースコードファイル名:imginfo.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Outp...
コンピュータ

OpenCVSharpで2つの画像ファイルを連結するコンソールアプリ

画像を右→左の順番に連結します。オプションで高さを指定出来ます。ソースコードファイル名:Concat.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>E...
コンピュータ

OpenCVSharpで高さ基準で画像ファイルをリサイズするコンソールアプリ

画像ファイルの高さを揃えたい。ソースコードファイル名:ResizeH.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> ...
コンピュータ

WPF × WebView2 × バニラJSで作るWebUI

WebView2をUIとして使えるか試しててみたいと思います。ソースコードファイル名:webui_01_vanillajs.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <O...
コンピュータ

C#でTCPソケットを使った画像処理ワーカーを作る【GIMP3(Pytho-Fu)クライアント→C#画像処理サーバー】

GIMPのPython-Fuから外部コマンドを呼び出す方法を知っているので、C#とOpenCVSharpで様々な画像処理を自作することが出来るようになりました。adaptiveThresholdを行う外部コマンドをGIMPから呼び出すフィル...
コンピュータ

GitHubでアプリのリポジトリのクローン・ビルド・インストールする話

C# で作ったデスクトップアプリを GitHub で公開し、まっさらな Windows 11 に Git・.NET SDK をインストールし、GitHub のソースコードからビルドしてインストールするまで の流れをまとめます。.NET は ...
コンピュータ

COM + C#でショートカットを作成するサンプル

COMのサンプルコードとしてショートカットを作成しますソースコードファイル名:comMakeShotCut.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputTyp...
コンピュータ

Win32 API + C#(P/Invoke)で 60FPS タイマーを作るサンプル

C#でWin32APIの呼び出しのサンプルとして、QueryPerformanceCounterを使った高性能タイマープログラムを作成しました。1秒 = 1,000,000 マイクロ秒精度の高性能タイマーTick 毎に 16.666 ms(...
コンピュータ

C#コーディングガイドライン20251102

C#でコーディングする場合、以下のルールに沿ったコードに成るよう心がける。 あくまで筆者個人の開発方針に基づいたガイドラインであり、すべてを厳守するものではない。 基本ユーザークラスはPOCOとする。 クラスの継承は最後に検討する。 クラス...