C#

C#
  • 2020.07.08

C#のラムダ式について理解を深める

今回はC#のラムダ式について記載していきます。多少仕事のほうでも使ったりするので基本のおさらいです。 LINQ文をラムダ式で記述した場合 まずはVisualStudioで「lambda_expressions_sample」という名前のコンソールアプリケーションを作成しておきます。名前は任意です。 次にProgram.csの中身を以下のように変更して保存します。 [crayon-5f3642f22 […]

C#
  • 2020.05.20

WPFのGridについて理解を深める

今回はWPFのGridについて書いていきます。 Gridには本当に様々な仕様があるため、基本的な部分だけを記載していきたいと思います。 今回は以下の3行4列となるGridを表示させてみます。 MainWindow.xamlの定義 まずはVisualStudioでWPFのプロジェクトを作成し、「MainWindow.xaml」の内容を以下のようにします。 [crayon-5f3642f2254854 […]

C#
  • 2020.05.20

C# 明示的にGC.Collect()を実施して直ぐにメモリを開放する

C#でメモリリークが発生してしまい、それのデバッグに時間がかかってしまいましたので備忘録を残しておきます。 まず、前提としてC#ではガベージコレクションによりメモリが自動的に開放されます。 ですが、それでもメモリが解放されなかったり直ぐにメモリを解放しておきたい場合があります。 今回はそのような場合に気を付けることを記載しておきます。 使用しているメモリ量を確認したいとき 以下のようにすると使用し […]

C#
  • 2020.05.20

VisualStudioのアイコンを理解する

今回はVisualStudioのアイコンについて調査しました。 以下の記事に詳しい解説が載っているのでリンクを貼っておきます。 Visual Studioのアイコン一覧 – so-zou.jp シンボルアイコンスキーム – 公式ヘルプ | ReSharper アイコンを覚えておくと一目でそれが何であるかを理解することができます。

C#

WPFのボタンでHalloWorldを表示するプログラム

今回はタイトルの通りWPFのボタンでHalloWorldを表示するプログラムを作ってみましたのでその方法を以下に示します。 表示されるHalloWorld画面はこのようになります。 上記のようにWPFのプロジェクトを用意してボタンを配置します。 [crayon-5f3642f226565569173424/] HalloWorldを表示させるほうのプログラムは以下のように記述します。ボタンをクリッ […]

C#
  • 2020.01.01

C#でメモリリークを発生させないようにするには?

C#には不要になったメモリを自動で解放してくれるガベージコレクションというものがあります。 こちらは不要と判断されたら自動でメモリ解放してくれますが、手動でも不要になったということをガベージコレクションに伝えることもできます。 メモリリークが発生した場合はどこかでメモリが確保(new)されて解放されていない状態だと思います。 上記の状態とならないように、以下の対応を実施してみましょう。 ・配列でn […]

C#
  • 2019.07.11

C#のWaitOne()でスレッドを停止してみる

今回はC#のWaitOne()でスレッドを停止させて動きを確かめてみたいと思う。 まずは以下のWaitOne()が含まれるソースを実行してみる。今回のプログラムではメインスレッドとサブスレッドが並列で処理されるようになっている。 [crayon-5f3642f226d55562361382/] 動きはコメントにある通りとなっている。WaitOneはSet()が呼ばれるまで待機する動きとなる。 結果 […]

C#
  • 2019.07.04

C#のデリゲートを理解する

デリゲートとはなんだ? C#にはデリゲートという機能が存在する。今回はそれについて理解を深めてみようと思う。 まず、デリゲートと聞いてパッと言葉のイメージがつかないのは自分だけではないはず。もっとイメージが湧くワードをチョイスしてもらいたかったものである。 デリゲートを一言でざっと説明するなら、メソッドを代入できる型のことである。 int型に代入するなら int a = 1;と書くし、string […]

C#
  • 2019.07.02

C#のスレッド処理を理解する(基本編)

今回はC#のスレッド処理について理解を深めてみようと思う。 並行して処理が行われるのはすぐにイメージできるが、プログラムにしてみると少しイメージが薄れてしまう。 なので、簡単なスレッド処理を動かし、それをイメージ図にしてみようと思う。 Parallel クラスを使ってみる まずはこちらのサイトに掲載されていたプログラムの内容を少し書き換えて実行してみる。 マルチスレッド – C# によ […]

C#

C#からC++(dll)のメソッドを呼び出す方法

プロジェクトを作成する ファイルから「新規作成」→「プロジェクト」を選択します。 今回はC#のコンソールアプリを選択して「Csharp_call_Cplus」としてプロジェクトを作成します。 次にC++のプロジェクトも作成しておきます。今回は「CplusProject」として作成しておきます。 これでC#とC++のプロジェクトができました。 ファイルの作成 つぎにファイルを用意していきます。まずは […]