hakeの日記

Windows環境でプログラミングの勉強をしています。

2018-01-01から1年間の記事一覧

C# - インターフェース

メソッドやプロパティといった外部とのインターフェースの引数や戻り値の形式を予め決めておくもの。メソッドやプロパティの実際の処理は各クラスの定義で行う。 あるインターフェースを継承したクラスは、そのインターフェースで定義したメソッドやプロパテ…

C# - goto

基本的にgotoは使用しない方が良いが、多重ループからの脱出やswitch内での移動で使用することもできる。

C# - Null許容型とNull合体演算子

Null許容型 通常は参照型の変数にしかnullは代入できないが、値型の変数でnull値を使いたい場合に使用する。内部的にはnullか否かのフラグと値を保持する変数を持っていると思われます。 値を保持しているか否かの判断には HasValue プロパティを利用する。…

C# - クラス - インデクサ

インスタンスに要素番号をつけて配列の様にアクセスする方法。プロパティの配列版といったところ。 public 型 this[ int i ] { set{ } get{ } }インデックスの数は複数(多次元)でも可。 以下は内部で配列ではないものを外部には配列っぽく見せているサンプ…

C# - 配列

言語仕様としての配列、要素数が予め決まっている場合に使用する。要素数が未定の場合や追加/削除を行う場合はコレクションを使用した方が良い。 初期設定値を書かない場合は new 演算子を使用して宣言する。初期値がある場合は不要となる。多次元配列は[ ]…

C# - クラス - 抽象クラス

継承することを前提し、メソッドやプロパティの外観だけを記述するクラス。 クラス宣言に abstract キーワードを付加する。 abstract class クラス名また、定義するメソッドやプロパティにも absrtact キーワードを付加する。派生クラス側では override キー…

C# - クラス - 継承 その2

クラスの継承の続き 昨日の日記では、派生クラスのコンストラクタを実行すると暗黙的に基底クラスの引数なしのコンストラクタが実行されたが、これでは都合が悪いので基底クラスの特定のコンストラクタを実行する様にもできる。 public 派生クラス名(引数リ…

C# - クラス - 継承 その1

クラスの継承の継承を行う場合は class 派生クラス名 : 基底クラス名と記述する。 派生クラスのインスタンス生成時にコンストラクタが実行されるが、暗黙的に基底クラスの「引数なし」のコンストラクタが呼ばれる。実行は、最初に基底クラスのコンストラクタ…

C# - クラス - プロパティ

インスタンス変数にそのままアクセスするのではなくて、インスタンス変数そのものは隠蔽して手続きを介して一見インスタンス変数の様にアクセスする方法。 インスタンス変数に値をセットする処理は set{ } 、このとき外部から与える値は value とする。イン…

C# - クラス - コンストラクタとデストラクタ

new演算子によるインスタンス生成時に実行されるのがコンストラクタ、インスタンスの解放時に実行されるのがデストラクタ。コンストラクタは複数の引数パターンを記述可能で、new時に与えられた引数のパターンにより選択されて実行される。 また クラス名(引…

C# - クラス - 変数と定数

クラスが持つ変数としては、静的(クラス)変数とインスタンス変数がある。 静的変数は、クラスで共通して一つ持ち、インスタンス変数はインスタンス毎に同名の変数を別に持つ。 静的変数は「クラス名.変数名」と書き、インスタンス変数は「インスタンス名.…

C# - コーディング規約

をみつけたのでリンク。C# のコーディング規則 (C# プログラミング ガイド) | Microsoft Docs

C# - 変数の型を取得

変数の型は、GetTypeメソッドで取得できる。 PowerShellと同じ。 varで宣言した変数の型をチェックするときに便利。 using System; // 変数の型を取得 class MyClass {} class MyMain { static void Main(string[] args) { int d = 123; double f = 456.789;…

C# - 文字列の書式指定(ToString)

数値をToStringメソッドで文字列化する場合の書式設定。 基本は前回と同じ、カスタム書式指定というのはExcelの表示形式の指定と似ています。(同じ?) ToStrirngメソッド自体は、オブジェクトを等価の文字列表現に変換する機能があり、供給されている各オ…

C# - 文字列の書式指定

引用符の左に@をつけた文字リテラルはエスケープ文字をそのまま出力する。またC#6以降では$を付けて文字列中の変数展開が可能みたいですが、今の実行環境ではエラーの為コメントにしてます。 文字列中への変数の埋め込みは{ }の中で書式を指定することで行う…

C# - csc.bat - 複数ファイルのコンパイル

前回のプログラムをクラス毎にファイル分割してコンパイルしてみる。 実行ファイル名は、Mainが存在する方のファイル名となる。 MyMain.cs using System; class MyMain { static void Main(string[] args) { MyClass.Method1(); MyClass mc = new MyClass();…

C# - 他クラスのメソッド実行

MyClassという、スタティックメソッドとインスタンスメソッドを持ったクラスを定義して、Mainから呼び出してみる。 using System; // 他クラスのメソッド実行 class MyClass { public static void Method1() { Console.WriteLine("MyClass:スタティックメソ…

C# - 基本形

C#の勉強。 現在、VisualStudioもVS Codeもインストールしていないので、以前の日記で作成したcsc.batでコマンドプロンプトからコンパイルを行う。 なのでWindows10環境での使用バージョンは、C# 5.0だと思われます。 c言語でいうところのmain関数が、C#では…

PowerShell Core

バージョン6以降のものをこう呼ぶようになったみたい。 一番の大きな変更はlinuxやmacでも動作するようになったこと。 現時点でも最新バージョンは6.1.0で、早速、リリースサイトからPowerShell-6.1.0-win-x64.msiをダウンロードしてきてインストール。 Wind…

カテゴリ整理

こちらに移行したので、はてなダイアリー使用時に作成したカテゴリの整理中。 特にZaurus関連の記事で作成したサブカテゴリが沢山あるので、これをZaurusカテゴリのみに一本化。その他もできるだけ単純化してカテゴリ数を減らす予定。 それにしてもZaurus関…

移行完了

はてなダイアリーからの移行が完了しました。 今後はこちらで更新していく予定となります。

はてなブログのアカウント取得

はてなダイアリーが終了するということなので、移行に備えてアカウント取得しました。 この記事より昔の日付のものは、はてなダイアリーからインポートしたものになります。 追記 過去記事を見直していて気が付きましたが、同日に複数投稿している記事は本ブ…

はてなダイアリー終了のお知らせ

のメールが届いていた。 今までの記事は閲覧(はてなブログへの自動移行?)できるみたいだけれども、プログラムメモ関連は良く参照するので、自分で移行した方が良いかもしれない。 http://d.hatena.ne.jp/hatenadiary/20180830/blog_unify

Windows 10 April 2018 Update 適用

今回は、前回のような問題も発生せず、すんなり終了。 今回も、Change Keyで設定したキー入れ替え設定がクリアされずに残っていた。 旧Windowsのoldフォルダ分を考慮しても空き領域がどんどん減ってきている。そろそろPCの買い替えも考えた方が良いかもしれ…

python - numpyの初歩

numpyの基本的な機能確認 python のバージョンは 3.6.4

EXCEL VBAメモ - ユーザーフォームを常に最前面にする(Excel2016)

2019/3/14追記 現時点のWindows10環境のExcel (Excel for Office365 64bit)で確認したところ、下記で述べている問題は発生しませんでした。Excel側で改善されたようですね。 背景 職場のPCは現在Windows7 Excel2010の環境で統一されていて、そこで以下のよ…

PowerShell - バッチファイル内に記述したスクリプトを実行する。

バッチファイル内にPowerShellスクリプトを記述して実行させる方法を知ったのでメモ。 この方法だとExecutionPolicyに関係なく実行できる様なので、普段PowerShellを使用していないPCでも実行可能になる。 参考サイト PowerShellスクリプト(.ps1)をバッチフ…