佐々木屋

技術的なことから趣味まで色々書きます

1.C#、VB.NET-9.その他

Visual Studio 2019

docs.microsoft.com 先月の4月2日にVisualStudio2019が公開され、4月30日にバージョン16.0.3がリリースされました。そろそろ安定したかな?ということと、GWでまとまった休みもあったので、この機会に開発環境を2017から2019に乗り換えてみました。 …

this参照

this(VB.NETはMe)が一体どういう意味を持っているのか、どういったときに使用するのかを説明します。そもそも、ローカル変数とフィールド変数の名前がかぶらなければお目にかかることはないわけですが、オブジェクト指向型言語であれば一度や二度はかぶっ…

複数のusingステートメント

複数のusingステートメントを利用する場合、構造化が複雑になり過ぎてしまいますが、usingを重ねて書くことによりこれを防ぐことができます。 using (Class1 test1 = new Class1()) using (Class2 test2 = new Class2()){ ~ } Using test1 As New Class1, t…

定数表現はconst?readonly?

シンボリック定数などの定数を宣言する場合、二通りの方法があります。 static readonly(VB.NETはReadOnly) const どちらも定数表現としてよく使われますが、明確な違いは以下の通りです。 項目 static readonly(ReadOnly) const 宣言 クラスメンバーの…

.NET FrameworkとC#、VB.NETのバージョン対応表

どうしても.NET FrameworkとC#、VB.NETのバージョン一覧をド忘れます。 完全に自分用です。すぐ閲覧できるようにまとめました。 .NET Framework C# VB.NET 主な追加機能 2.03.0 C# 2.0 VB 8 匿名メソッド(C#)staticクラス(C#)ジェネリックnull 許容型yie…

メッセージループ(Application.RunとForm.ShowDialog)

通常、エントリポイントで起動フォームを指定する場合、Application.Runメソッドを使用します。 Application.Runに指定されたフォームは表示されると、マウスやキーボードの操作を受け付けるために待機状態となります。そして操作が実行されると、その操作内…

自分の作ったプログラムのメモリ使用量を知る

コスト調査であったり何かの実証実験で、自分のプログラムのメモリ使用量を知りたい場合は、System.EnvironmentクラスのWorkingSetプロパティを使用します。 byte単位なので、適当に変換して使用すればよいでしょう。 Console.WriteLine(System.Environment.…

アクセス修飾子

アクセス修飾子はメンバや型などのアクセスを制限することができる機能です。「スコープ」と言ったりもします。 アクセス修飾子一覧を記載します。これ以外にもありますが、主要というか、私が日常的によく使われるものだけをピックアップしています。 アク…