C#

C#

[C#] DataTableをListに変換する時の速度を比較してみた

はじめにDataTableへのアクセスは、比較的遅いという結果が出ています。そして、Listの場合だと約5倍以上の速度が出るとも言われています。DataTableに対するアクセス速度を比較する記事はいくつかありましたが、DataTableを...
C#

[C#] Semaphoreを利用して多重起動を制御する方法

はじめに本記事では、Semaphoreを利用して多重起動を制御する方法の備忘録です。このような処理を実施する必要がある例として下記の様なことを想定してみます。あるアプリケーションを自動で起動させるシステムがあったとして、そのアプリケーション...
C#

[C#] 可読性を重視したC#のコード改善テクニック

はじめにC#での開発をおこなっていると、みやすい・理解しやすいコードと、読むのに時間がかかったり見ずらいコードをよく見かけます。大体半々くらいですかね・・・今回は、少し気にするだけで、とても読みやすい・理解しやすいコードがかけるための改善テ...
C#

[C#] ManagementObjectを利用したWindowsサービスの操作まとめ

はじめにC#でのサービスの開始・停止などは「System.ServiceProcess.ServiceControllerクラス」を利用して行うのが結構一般的ですが、今回はManagementObjectを利用した操作についての備忘録です。...
C#

[C#] レジストリ操作まとめ(読み込み・書き込み・削除・存在チェックなど)

はじめに今回は、C#を利用したレジストリ操作に関する備忘録です。レジストリ操作はよく利用するため、忘れたら調べての繰り返しをなくすために、基本的に利用するものをまとめておきます。アクセス先ルートを設定レジストリルートをそれぞれ取得します。3...
C#

[C#] Visual Studio 2019で CS8357コードのエラーが発生した時に対処法

はじめにAssembly情報のAssemblyVersionにワイルドカードを使用した場合、下記の様なエラーが発生した。指定されたバージョン文字列には、決定性と互換性のないワイルドカードが含まれています。バージョン文字列からワイルドカードを...
C#

[C#] 指定した日時の相対時間(何年前? 何ヶ月前?など)を計算する方法

はじめにある日時を指定し、その日時が現在の何年前なのか、何ヶ月前なのか、何日前なのか、何時間前なのかを計算する方法の備忘録です。今回のサンプルは、計算した結果の値に応じて「〜前」の単位を変えています。サンプルコードclassProgram{...
C#

[C#] Stringとstring(大文字と小文字)の違い

はじめにC#のコードを書いてたり、改修時に他人のコードをみたりしていると、String(Sが大文字)の場合とstring(sが小文字)の場合があります。この違いについて気になったので備忘録として残します。Stringとstringの違い「s...
C#

[C#] enumの名前リストを出力する方法

はじめにDebug用など、enumのリストをすべて出力する簡単な方法の備忘録です。サンプルコードpublicenumDays{Mon,Tue,Wed,Thu,Fri,Sat,Sun}publicvoidPrintAllDays(){fore...
C#

[C#] Intやstringの値をenumにキャストする方法

はじめにInt型のデータや文字列を自身で用意したenumにキャストしたい場合の方法を備忘録として残します。キャスト方法事前にDaysというenumを用意しておきます。文字列をenumにキャストするclassProgram{staticvoi...
C#

[C#] Listに格納されている日付から現在日時に一番近いでデータを比較し取得する方法

はじめにListに日時のリストが格納されており、現在の日時に一番近い日付を取得する方法を備忘録として残します。本処理の実行結果は、2020年5月1日に実行した結果となります。サンプルコード早速、サンプルコードを書いてみます。usingSys...
C#

C# 1行ずつ書かれたテキストファイルの内容を簡単にリストに格納する方法

はじめにテキストファイルにシンプルに一行ずつ記載されているデータをC#のListにシンプルに格納する方法の備忘録です。普通はforeachで回してListにAddしていくと思いますが、今回は「System.IO.File.ReadAllLi...
C#

[C#] 配列をジェネリックコレクションのListに変換する

はじめに本記事では、配列をListに変換する方法をご紹介します。System.Collections.Generic.Listクラスは配列に非常によく似た機能を持つクラスです。格納できる要素の数が固定である配列とは異なり、動的に要素の数を増...
C#

[C#] ICompareインターフェースを使用して2つのListを比較する方法

はじめにUnitテスト時に2つのListの比較をICompareインターフェースを使って比較する際の方法をメモしておきます。ICompareインタフェースで用意されている「Compare」メソッドは2つのオブジェクトを比較して、一方が他方よ...
C#

[C#] IndexOutOfRangeExceptionとArgumentOutOfRangeExceptionについて

はじめにC#で開発を行っていると様々な例外エラーが発生します。今回はその中でも「IndexOutOfRangeException」と「ArgumentOutOfRangeException」について詳しく記載します。この2つは意味は一緒です...
C#

[C#] サーバ上にあるファイルの更新日時を取得する

はじめにファイルダウンロード処理で、更新されていないファイルを毎回ダウンロードするのは意味がない処理なので、今回は、サーバ上にあるファイル更新日が新しい場合のみファイルをダウンロードする処理をメモします。ファイルダウンロード処理は下記を参考...
C#

[C#] ファイルをダウンロードしチェックする

はじめにC#を利用して、Webサイトからファイルをダウンロードする方法をメモ。ここでは、ダウンロード後にファイルサイズのチェックやファイルの存在有無などのチェックも行って居ます。ファイルダウンロードpublicclassProgram{pu...
C#

[C#] Visual StudioのAssembly情報を取得し出力する

はじめにプロジェクトを作成する際、Assembly情報にバージョン情報やプロダクト情報を記載します。ここでは、このAssembly情報の製品名、製品バージョン、コピーライトを取得する方法をメモします。Assembly情報を標準出力で出力する...
C#

C#を使ってインストールされているKB情報を調べる方法

はじめにWindowsでは更新プログラムでインストールされている情報を参照することができますが、より詳しい情報はWUAPIを利用して取得することができます。ここでは、WUAPIを利用して更新プログラムの詳細情報を取得したいと思います。実戦で...
C#

[C#] XSS対策としてHtmlSanitizerを利用する

はじめにクロスサイト・スクリプティング(以下、XSSという)とは、悪意あるスクリプトを実行されてしまう脆弱性のことを指します。この悪意あるスクリプトは、Webページの表示に利用者のブラウザ上で実行されます。例えば、本物のサイト上に偽ページが...