C#
こんにちは。 本日はC#メモです。 Thread.Sleep()を使用した処理の待機 待機をキャンセルする Task.Delay()を使用した処理の待機 待機をキャンセルする Thread.Sleep()を使用した処理の待機 Thread.Sleep()は引数に指定した時間分処理を待機します。 Thread.…
こんにちは。 本日はC#メモです。 概要 プロパティの設定 プロパティを取得する 概要 DBやファイルから値を取得し、 特定のプロパティに設定をする際、 数が少ない場合はいいですが 数が多くなると少し厄介になります(ミスも増えるし。。。) リフレクション…
こんにちは。 本日はC#メモです。 概要 サンプルコード 概要 非同期処理をキャンセルする方法に CancellationTokenというものがあります。 本記事では、CancellationTokenを使用して 非同期処理をキャンセルする方法を記載します。 サンプルコード 以下のコ…
こんにちは。 本日はTaskを使用した非同期処理についてのメモです。 概要 スレッドの開始と待機 スレッドの開始と待機(Task.Runを使用) 複数のタスクの待機 複数のタスクのうちどれか一つが終了するのを待機する すべてのタスクが終了するのを待機する async…
こんにちは。 本日はThreadを使用した非同期処理についてのメモです。 概要 スレッドの開始と待機(Start、Join) バックグラウンドとフォアグラウンド スレッドに引数を渡す スレッドの中断(Abort → 非推奨) スレッドの中断(Interrupt) 概要 非同期処理を実現…
こんにちは。 本日はC#メモです。 概要 大量のファイル対して同様の処理を行いたい。 その処理には時間のかかる処理AとBが存在するとする。 非同期で処理をして効率よく処理が行えるようにする。 サンプルコード メイン処理 メイン処理では ファイルを取得し…
こんにちは。 本日はNUnitで使用するAssertクラスのメソッドについてのメモです。 今回の記事では、 よく使うメソッドについて記載します。 引数が等しいかどうか AreEqual AreNotEqual 引数が同じオブジェクトを参照しているか AreSame AreNotSame 引数に指…
こんにちは。 本日はdotnetコマンドメモです。 概要 特定のテストを実行する方法 クラスを指定 メソッドを指定 概要 以前のNUnitでのユニットテストについて記事を上げました。 その時使用したdotnet testコマンドで、 特定のテストを実行する方法について調…
こんにちは。 本日はC#のNUnitについてのメモです。 概要 テストプロジェクトの追加と基本的な記載方法 1. プロジェクトの追加 2. ソリューションへの追加 3. 参照設定 4. テストパターンの記載 5. テストの実行 概要 ユニットテスト(=単体テスト)をNUnitを…
本日はCountdownEventについてのメモです。 概要 サンプルコード 概要 以前、AutoResetEventについての記事を書きましたが、 CountdownEventもAutoResetEventと同様で GOを出すまで待機してくれるクラスです。 違いは、AutoResetEventは1回の待機でしたが、 …
あけましておめでとうございます。 2023年もよろしくおねがいします! 本日はAutoResetEventについてのメモです。 概要 サンプルコード 概要 AutoResetEventは、スレッド処理にて利用すると非常に便利です。 AutoResetEventは、 待機中のスレッドを解放した…
こんにちは。 本日はUDPの通信処理のメモです。 送信時にバインドするようにしてみます。 準備 受信側 送信側 参考 準備 受信側のipは、192.168.100.10、 送信側のipは、以下の2つをセットします。 192.168.100.20 192.168.100.30 受信側 public class UdpRe…
こんにちは。 本日はエンディアン変換についてメモです。 概要 シフト演算でエンディアン変換する BitConverterを使ってエンディアン変換する まとめ 概要 エンディアンは、2バイトの並びの方式のことです。 ビックエンディアン・リトルエンディアンが存在し…
今回はWindows Formsにてほかのボタンの クリックイベントを生成する方法をメモ。 概要 サンプルソース まとめ 概要 配置するのは以下。 テキストボックス ボタン2個 button1をクリックするとテキストボックスに時刻を表示します。 button2をクリックすると…
こんにちは。 本日はパスを指定する際の注意メモです。 Path.Combine Environment.GetFolderPath まとめ Path.Combine パスを指定するとき、固定のパスとかだと直接指定しちゃったりますね。 "C:¥test"みたいな感じで。 でも、これはあまりよくない方法です…
以前、C#でのビット演算を紹介したのですが NodeやVBAでもやってみましたので 比較してみました。 C#でのビット演算は以下の記事でもう少し詳しく紹介しています。 nandakagoodvibes.hatenablog.com 論理積 論理和 排他的論理和 数値を2進数で取得する まと…
こんにちは。 本日は、BitArrayのメモです。 オン→true、オフ→false のブール型の配列となっています。 概要 初期化 指定した値で作成 左シフト[LeftShift] 右シフト[RightShift] 論理AND演算[And] 論理OR演算子[Or] 論理排他的OR演算子[Xor] 指定したインデ…
こんにちは。 本日はビット演算のメモです。 左シフト[<<] 右シフト[>>] 論理AND演算[&] 論理OR演算子[|] 論理排他的OR演算子[^] まとめ 左シフト[<<] 指定されたビット数分左にシフトします。 uint before = 0b_1111_1111; var after = before << 3; Consol…
こんにちは。 以前、初めて既存のソリューリョンの .NET Coreのバージョンアップをしてみたのでメモ。 実際やってみるとめっちゃ簡単! ソリューションに含まれているプロジェクトの 「.csproj 」ファイルの「TargetFramework」を 対象のバージョンに変更す…
HashSetのメモです。 使用するHashSet UnionWith(和集合) ExceptWith(減算) IntersectWith(積集合) SymmetricExceptWith(対称差) 使用するHashSet 以下のハッシュセットを使用します。 var h1 = new HashSet<int> { 10, 20, 30 }; var h2 = new HashSet<int> { 20, 30,</int></int>…
アセンブリを取得して色々するサンプルメモです。 そもそも、アセンブリとはざっくり言うと... ・実行ファイル(exe) ・ダイナミックリンクライブラリ(dll) のことを示します。 以下のリンクに詳細が書いてあります。 docs.microsoft.com では、サンプル…
よく使うのでメモです。 var path = "オープンしたいアプリのパス"; Process.Start("EXPLORER.EXE", path); 上記サンプルは指定したパスのエクスプローラを オープンする事ができます。
引数がどんどん増えていってしまうことが多々あります。 一箇所のみであるのならば少しの手間で修正できますが いくつかの場所の修正が必要な場合、ミスのもとになります。 今日は、引数が多くなってしまった、もしくは引数の変更が有り得そうな場合の手法を…
プロパティとは、privateなフィールドの値を 読み書きするためのメンバーです。 プロパティはget,setのブロックがついており これらはアクセサと呼ばれる特別なメソッドです。 サンプルを書きながら説明していきます。 public class MainClass { public void…
コンストラクタって何なのでしょうか? C# 入門したときに、自分の中に全く消化できないものでした。 勉強を始めて、自分の中に落とし込めた部分をメモしたいと思います。 コンストラクタは ・new したときに呼び出されるメソッド ・クラスと同じ名前 ・戻り…
リストへの要素追加、コレクション追加のサンプルをメモ。 リストへの要素追加は Addメソッドを使います。 public void AddSample() { var list = new List<string>(); list.Add("みかん"); list.Add("いちご"); list.Add("すいか"); foreach (var item in list) { C</string>…
UnixTimeを変換したい!ってなることがあるので サンプルを作りました。 Console.WriteLine("変換したいUnixTimeを入力してください。"); var input = Console.ReadLine(); var unixTime = 0; if (int.TryParse(input, out unixTime)) { // Unix時間をDateTi…
日付の名前でディレクトリを作成し エラーの場合、テキストに出力するサンプルです。 using System; using System.IO; using System.Diagnostics; namespace FileSample { class Program { static void Main(string[] args) { var dateTime = DateTime.Now.T…
名前のない型を作ることができるTuple。 今まで使ったことがなかったので、サンプル作ってみました。 var tuple = ("データ1", 1000); Console.WriteLine($"データ:{tuple.Item1} 種別:{tuple.Item2}"); string とint をセットしています。 Tuple にセット…
アクセス修飾子は、アクセス可能な範囲を指定するものです。 今回は4つのアクセス修飾子について記載します。 アクセス修飾子 説明 public どこからでもアクセス可能 protected 同一クラスか派生クラスからアクセス可能 internal 同一アセンブリ内でアクセス…