hakeの日記

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

2018-10-01から1ヶ月間の記事一覧

EXCEL VBAメモ - ユーザーフォーム上のTextBoxにEnter押下で連続入力する

目的 ListBoxとTextBoxがあるユーザーフォームで、TextBoxに入力したデータをListBoxに追加していきたい。 その時Enter押下だけで連続に入力していく様にしたい。 試行錯誤 通常はTextBoxにデータを入力したあとにEnterを押すとフォーカスが別のコントロール…

C# - LINQ

Enumerableなオブジェクトに対して様々な加工が可能である。面白いのは組み合わせて使用できること。 注意点としてはReserveメソッドのみ自身を書き換えること。試した範囲では他のメソッドは新規のEnumerableなオブジェクトを生成した。

C# - 引数 - 値渡しと参照渡し

メソッドの引数を参照渡しで行う場合は、仮引数だけでなく、実引数側にも ref をつける。これはメソッドの引数にしたことで、メソッド側から書き換えが発生する可能性のあることを明示する為である。 メソッドの結果を引数経由で呼び出し側に渡す用途の場合…

C# - 引数 - 規定値/名前付き引数/可変長引数

メソッド定義の仮引数に規定値を付けると、メソッド呼び出し時にその引数を省略することができる。ただし仮引数の並びで、規定値有りの引数の後ろに規定値無しの引数を置くことはできない。また、メソッド呼び出し時に 仮引数名 : 値とすることで仮引数の順…

C# - foreach文とyield

IEnumerable<T>型のメソッドを定義して、その処理中に yield return 値; を記述することで、IEnumerable<T>オブジェクトを生成することができる。 IEnumerable<int> MyEnumerable() { 処理; yield return 値; 処理; } この方法を利用したほうが、IEnumerable</int>…

C# - foreach文とIEnumerableインターフェース(ジェネリック)

ジェネリックに対応させるには、昨日に対してIEnumerable<T>、IEnumerator<T>とIDisposableインターフェースを追加して継承する。 interface IEnumerable<T> { IEnumerator<T> GetEnumerator(); } interface IEnumerator<T> { T Current { get; } } GetEnumerator</t></t></t>…

C# - foreach文とIEnumerableインターフェース

foreach文において in の後に置けるオブジェクトはIEnumerableインターフェースを継承したクラスとなる。 IEnumerableは、GetEnumeratorメソッドでIEnumeratorオブジェクトを返す。 interface IEnumerable { IEnumerator GetEnumerator(); } GetEnumeratorメ…

C# - デリゲート

デリゲートとは要するにラムダ式をいれるデリーゲート型変数を定義して使用する仕組み。 デリゲート型は以下のように定義する。 delegate 戻り値型 デリゲート型(引数型と引数名リスト); あるデリゲート型で宣言したデリゲート変数は、その型で定義された戻…

C# - コレクション - List<T> その2

Listコレクションでラムダ式を引数にしているメソッドの使用例。

C# - ラムダ式とデリゲート型

処理をひとつの固まりとして扱うのがラムダ式。 (引数リスト) => {処理}; (引数リスト) => {処理; return 戻り値;};引数がひとつの場合や、処理が単文の場合は括弧を省略できる。また処理が単文の場合はreturnも省略できる。 ラムダ式は、デリゲート型の変数…

C# - コレクション - List<T>

配列のコレクション版。 の部分に型を指定してnewを行うことで、その型のコレクションとなる。

C# - 正規表現

基本的にはPowerShellやExcel VBAのものと同じ感じ。 マッチさせた結果は、MatchやMatchesのインスタンスに格納される。

Windows10 v1809 October 2018 Updateの配信を停止(勝手にフォルダ内のファイルが削除)

blog.livedoor.jpなんという凶悪なバグ! 幸い自分のPCでは、この症状は出ていない&データバックアップしているので問題は生じませんが…… 昨年のインストール失敗の例もあるので、配信されて直ぐに自分からインストールしに行くのは止めておいた方が良さげ…

C# - ディレクトリ内一覧の取得

Directoryクラスの静的メソッドを使用することで、全て、ファイルのみ、サブディレクトリのみと取得できる。またワイルドカードを使用して特定もののみを取得することも可能である。 全てを取得した場合は、ディレクトリかファイルかの区別はFile.GetAttribu…

Windows 10 October 2018 Update 適用

適用終了。 無事に済んで何よりでした。

C# - usingブロックの動作

昨日使用したusingブロックの動作の確認。 MSのドキュメントによると、using( )内で宣言できるのは、IDisposableインターフェースを継承したクラスになる。具体的には、void Dispose() メソッドを持っていることが必要となる。 usingブロックを抜ける際に、…

C# - テキストファイルのアクセス

テキストファイルに対して1行単位で読み書きする例。 エンコード(文字コード)は環境のデフォルトのものを取得して設定している。設定を省略した場合はutf-8となる。特定のエンコードを指定する場合は、GetEncodingメソッドを使用する。 通常はusingを使用…

c# - 例外処理(try / catch / finally / throw)

例外処理 例外処理は他の言語と一緒。tryブロックで例外が発生した場合、発生した例外の種類が書かれたcatchブロックの処理が実行される。finallyブロックは、例外の発生の有無に関わらず実行される。 例外の種類分けを行わない場合は、Exceptionでcatchする…

C# - インターフェース

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