C#

C#

[C#] nullチェック方法で == と is演算子の違いについてのまとめ

C#での開発時、nullチェックは必ずといっていいほど行われるチェックの一つだと思います。その際に「a==null」とするか「aisnull」とするか人によって結構異なるかと思います。今回は、このnullチェックでの==とisの違いを踏まえ...
C#

[C#] MailKitライブラリを利用したメール送信方法まとめ

はじめにC#でのメール送信では今まで、System.Net.MailのSmtpClientクラスを利用していました。このSystem.Net.MailのSmtpClientは.NETFramework4.5から、利用において非推奨となり、M...
C#

[C#] app.configのappSettingsやconnectionStringsを暗号化/復号化する方法まとめ

はじめにC#アプリケーション(コンソールやデスクトップ等)では必ずapp.configが存在しています(利用していない場合も含む)。このapp.configには設定情報はもちろんのこと、パスワード情報などセキュリティリスクが高まるような情報...
C#

[C#] XDocumentを利用したXMLファイル操作まとめ(Linq、値の取得、値や属性の編集、削除)

はじめにC#アプリケーションでは設定ファイルがXML形式担っていたりなど、XMLファイル操作は欠かせない技術の一つです。そもそもXMLとは「ExtensibleMarkupLanguage」の略であり、マークアップ言語の一つです。詳細は省き...
C#

[C#] HttpClientを利用したBasic認証によるファイルダウンロードまとめ

はじめに本項では、HttpClientを利用してBasic認証が必要なサイトからファイルをダウンロードする方法の備忘録です。リクエスト情報の作成まずは、Basic認証情報をHttpRequestMessageとして作成します。private...
C#

[C#] switch文をswitch式で表現する

はじめに今回は、今まで利用していたswitch文をより効率的に、コード数も極力少なくしたswitch式の書き方についての備忘録です。今までのswitch文は下記のような感じでした。publicstaticvoidMain(string[]a...
C#

[C#] Null許容型配列を普通の配列に変換する方法(Nullable[]をT[]に変換)

はじめにNull許容型の配列を通常の配列に変換する方法の備忘録です。Null許容型の配列とは、基本的に普通の配列の中には「null」を挿入することができせんが、このnullも値の一つとしてみなし配列の値として扱うことができます。int?a=...
C#

C#] Base64エンコードおよびBase64デコードまとめ

はじめにBase64とは、マルチバイと文字列やバイナリデータをテキスト形式に変換する方法です。64種類の英数字を利用してエンコードする方式であり、.NETFrameworkライブラリの「Convert」クラスを利用します。文字列のBase6...
C#

[C#] Process.Startを利用して外部アプリケーション起動後に非同期でプロセス終了を検知する方法

はじめにあるアプリケーションから外部アプリケーションを起動する際によく利用するのが、「Process.Start」メソッドだと思います。同期的にプロセスの終了を検知する場合は、「Process.WaitForExit」を利用します。しかし、...
C#

[C#] BorderlessのWindows Formをドラッグする方法(Panel利用)

はじめに前回は、フラットなWindowsFormの作成(Borderess)を投稿しました、しかし、前回のままだとWindowを移動することができません。今回は、Header部分(パネル部分)を押下した状態で移動する方法の備忘録です。前回の...
C#

[C#] 空白やスペース含む文字列分割を行う簡単な方法

はじめに本投稿では、文字列分割の方法についてご紹介できればと思います。C#での文字列分割は、基本的に「Split」を利用します。このSplitに対してLinqを用いることで、より簡単に文字列分割を制御することができます。Split関数につい...
C#

[C#] Windows Formにてタイトルバーなしのフラットなおしゃれフォームを作成する方法

はじめにC#でWindowsFormアプリケーションを作成する際に、もともとのレイアウトをそのまま利用するのは見た目的にあまり良いとは言えないかと思います。今回は、タイトルバーを非表示にし、全体的にフラットなフォームレイアウトを作成したいと...
C#

[C#] Windowsサービスからcmd.exeでbatファイルを起動した時の作業フォルダを設定する方法

はじめにWindowsサービスからあるbatファイルを起動する際に、そのbatファイルの実行ディレクトリをそのbatファイルないで取得するために「%~dp0」でパスを取得した際、本来はbatファイルと同じフォルダパスになって欲しいのですが、...
C#

[C#] Windowsサービスインストール時に別アプリケーション.exeファイルをログインユーザで実行する方法

はじめにWindowsサービス単体の作成ではなく、Windowsサービスと対話的な処理を行うデスクトップアプリケーションとセットで作成し、インストール時にはどちらも起動したいとなった場合、LocalSystemとして起動してしまいます。今回...
C#

[C#] RNGCryptoServiceProvider を利用してランダムな文字列を生成する方法

はじめに暗号化/復号化や、計算など「乱数」を作成する機会は多々あるかと思います。本稿では、RNGCryptoServiceProviderを利用してランダムな文字列を生成する方法を備忘録として残しておきます。乱数の生成まず、ランダムな文字列...
C#

[C#] Windowsでローカルユーザアカウントの作成・パスワード変更・削除・一覧の表示を行う

はじめに今回は、WindowsPC上にローカルユーザアカウントを作成する方法、作成したユーザアカウントのパスワードを変更する方法、作成したユーザアカウントを削除する方法についての備忘録です。よく使うケースとしては、「ユーザを作成した結果に対...
C#

これからC#を学ぶ人のための学習サイトおよび学習教材まとめ

はじめに数あるプログラミング言語の中で、本稿ではC#をピックアップし、これから学習する方のために役立つ情報を提供できればと思っています。C#言語を身に付けたいけど、何から進めていけばいいかわからない方に役立てば良いかと思います。C#とはそも...
C#

C#を利用したAmazon S3操作まとめ

近年、AWSを利用したプラットフォーム開発が増えている中、今回はこのAWSで提供されているサービスである「AmazonS3」に対して、C#を利用して操作する方法のまとめとなります。AmazonS3を操作するために必要なのが「AWSSDKfo...
C#

[C#] シンプルにMD5やSHA256などでハッシュ値を計算し文字列として取得する

はじめにテキストやファイルが改ざんされていないかをチェックするのに適しているハッシュ値ですが、このハッシュ値の計算に関して、C#のSystem.Security.Cryptography名前空間で、データの暗号化アルゴリズムが提供されていま...
C#

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

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