C#

.NET 5 Windows Forms

【.NET】C#でSIMDを使った高速演算

私は、.NET Frameworkを使う事が多いのですが、.NET FrameworkからSIMDを使うにはSystem.Numerics.Vectorsクラスを使ってSIMD演算ができるのですが、C言語で使うSIMDとは全く別物で使ってい...
.NET 5 Windows Forms

【.NET 5 C# WinForms】バージョン情報の設定

プログラムのバージョン情報を指定するのには、.NET Frameworkの時は、プロジェクトのプロパティをクリックし、 表示された画面の アプリケーション→アセンブリ情報 をクリックすると アセンブリ情報のウィンドウが表示され、バージョンを...
.NET 5 Windows Forms

【.NET 5 C# WinForms】メニューとメニューイベントの追加

(2021.8.3追記)Visual Studio 2019を更新することにより下図のように従来の.NET Frameworkと同等にメニューを追加できるようになりました。本記事は旧バージョン操作方法となります。 下図は Visual St...
.NET 5 Windows Forms

【.NET 5 C# WinForms】新規プロジェクトの作成

.NET5 の Windows Forms のプロジェクトの作成はVisual Studio を起動し、新しいプロジェクトの作成をクリックします。 ※.NET 5.0を使用するには Visual Studio 2019 Ver.16.8以降...
C#

【C#】ユーザーコントロールが無くなった?

久々にVisual Studio 2015のC#でユーザーコントロールを作ろうとして、新規プロジェクトを作成しようとしたら、ユーザーコントロールのテンプレートが無い!! 以前はテンプレート→Visual C#→Windowsの中にユーザーコ...
C#

【C#】フーリエ変換(FFT, DFT)プログラム

以前、Excelのマクロを使って、データ個数に応じて高速フーリエ変換(FFT)と離散フーリエ変換(DFT)の処理を自動で切り替えるマクロを作成したのですが、Excelではデータ数が多い時など、使いにくい場合もあるので、今度は、C#でフーリエ...
C#

【C#】複素数の計算(Complex構造体)

C#では複素数を扱う Complex構造体(名前空間:System.Numerics)が用意されています。 ただし、プロジェクトの初期状態では、使えないため、プロジェクトの参照を右クリックし、参照の追加で System.Numerics を...
C#

【C#3.0~】自動実装プロパティ

C#3.0(Visual Studio 2008)からは、自動実装プロパティなる物が使えるようになりました。 C#2.0までのプロパティの実装は、こんな感じ↓ class Contrast { private double _scale =...
C#

【C#4.0~】Parallel.Forによる並列処理

C#4.0(Visual Studio 2010)からはParallel.For(名前空間:System.Threading.Tasks)による並列処理が可能となります。 2コアや4コアは当たり前の時代なので、C#のParallel.For...
C#

【C#】24bitと32bitカラー画像の表示速度の比較

カラー画像の24bitカラーと32bitカラーの画像はR,G,Bの成分はそれぞれ8bitで表現され、32bitの時に、残りの8bit部分で画像の透過率として使われる場合もありますが、画像処理的には、あまり使われる事はありません。 そのため、...
C#

【C#3.0~】拡張メソッド

C#3.0(Visual Studio 2008)からは、拡張メソッドよ呼ばれる、既存の型やクラスにメソッドを追加することが出来るようになりました。 と、聞くと、クラスを継承すれば出来るでしょ!という意見があろうかと思いますが、拡張メソッド...
C#

【C#4.0~】引数の省略と名前付き引数

C#4.0(Visual Studio 2010)からは引数の省略および名前付き引数が使えるようになりました。 引数の省略 なにはともあれ、サンプルをご覧ください。 public static double AddScale(double ...
C#

【C#3.0~】varによる暗黙的な型宣言

C#3.0(Visual Studio 2008)からはvarを用いた暗黙的な型宣言を行う事ができます。 例えば、以下のような例 string text = "Sample"; では text の型は = の右辺を見ると 文字列型(stri...
C#

C#2.0(Visual Studio 2005)からの脱却

私が本格的にC#を始めたのはC#2.0(Visual Studio 2005)からなのですが、会社でプログラムをしていると、お客様向けのサンプルプログラムを作成することから、むやみにVisual Studioのバージョンを上げる事もできず、...
C#

画像処理100本ノックをC#でやってみた

画像処理100本ノック というページがあるのをご存じでしょうか? 最近の画像処理と言えば、OpenCVをPythonでやってみた! という情報にあふれているのですが、この画像処理100本ノックでは、画像処理の処理部分はOpenCVに頼らずに...
C#

【C#】画像の輝度値の取得設定速度の比較

C#で画像の輝度値を取得/設定を行う場合は、GetPixel、SetPixelメソッドを使うと遅いのでLockBits~UnlockBitsでポインタをむき出して輝度値の取得/設定を行うのが定番となっていますが、自分自身でGetPixel、...
タイトルとURLをコピーしました