もこたんブログ@mocuLab(・ω・)

Programming & Designing

C#

C#で自作クラス(カスタムクラス)をキーにする方法(Dictionary,HashSet)

C#

ディクショナリの内部では、値(value)を特定するためのインデックスとしてハッシュコード(ハッシュ値)が使われています。 1.まずGetHashCodeメソッドで、ハッシュ値が同じかを調べる 2.ハッシュ値が同じときは、Equalsメソッドでオブジェクトの同値性を調べ…

C#のHashSetでDictionaryのKeyのみのリスト(コレクション)的な使い方ができるよ

C#

HashSetコレクション型 https://msdn.microsoft.com/ja-jp/library/bb397727(v=vs.110).aspx 簡単に言うと、HashSetクラスは値のないDictionary<TKey, TValue>コレクションです。 つまりHashSetを使うと、DictionaryのKey部分のみのような使い方ができます。順序が不要な重</tkey,>…

C# Formアプリケーション関連のイベント発生順

C#

↓を見ればわかります…最初に知りたかったよ~(´・ω・`)… Windowsフォームのイベントの順序https://msdn.microsoft.com/ja-jp/library/86faxx0d(v=vs.110).aspxWindowsフォームにおけるマウスイベントhttps://msdn.microsoft.com/ja-jp/library/ms171542(v=vs…

C#でLINQを使ったToDictionaryの使い方(ListからDictionaryを作成、DictionaryからDictionaryを作成)

C#

.NET Framework3.5(C#3.5)から使えます。 バージョンが低くて使えない時は、forやforeachで回すしかありません(´・ω・`) 構文 Enumerable.ToDictionary メソッド https://msdn.microsoft.com/ja-jp/library/system.linq.enumerable.todictionary(v=vs.110).asp…

C#のCompareメソッド、CompareToメソッドの戻り値の覚え方。すぐ忘れる人向け

C#

覚え方 普通の算数式のようにイメージすると、合点がいく。 「左 - 右 = 結果」の「結果」が正か負かを調べると考えるとわかりやすい。 なるほど、これは覚えやすい(´・ω・`)! string str01 = "01"; string str05 = "05"; string str10 = "10"; // 01 - 05 =…

C#からdllImportでWin32 APIのEnumWindows関数を使う方法

C#

.NET Frameworkに大抵のものはあらかた揃っていますが、それでもないものもあります。そのため、.NET以外の他所の関数を読み込んで使用する方法があります。いろいろ調べたのでメモ。 やりたかったこと あるプログラムP1からexeキックしたプログラムP2のタイ…

C#の拡張メソッドの作り方。拡張メソッドを定義する方法

C#

Microsoft公式 拡張メソッド (C# プログラミング ガイド) 拡張メソッド (C# プログラミング ガイド) | Microsoft Docs 大抵のものは標準で揃っているけれども、そこにない処理を個別に追加できます。 拡張メソッドとは… 既存の型(クラスなど)にメソッドを追…

IEnumerableの読み方

C#

会社でenum型をみんな「イナムがた」って読んでるんですが、「IEnumerable」はアイイナメラブル?自信ない…と思い調べてみました。結論→たぶん「アイ イニューメラブル」(´・ω・`)!で、ネイティブが発音すると速くなって「アイニューメラブル」? C#ではイン…

NotFoundException?[C#][Xamarin]

VisualStudio Macにて。 からのプロジェクトにコントロール追加しただけなのに出たエラー。 ビルドは成功。 配置時に「Android.Content.Res.Resources+NotFoundException」のエラーが出た… ビルド>クリーンして、 ビルド>リビルド、三角ボタンで実行すると…

C#の拡張メソッドの使い方(初心者向け)

C#

例えばLinqを使ってみようと思ったけど、インテリセンス(入力補助)に出てこなくて「なぜか使えない!?」と悩んでいる方などに。 Linqに限らず拡張メソッドの使い方は ・usingディレクティブを追加して名前空間を指定する ・プロジェクトの「参照設定」にそ…

Xamarin+C#でモバイルアプリ開発(゚ω゚)

業務でXamarin使えたらいいなと思い、本を購入して読んでいる最中です。 Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎 作者: 青柳臣一 出版社/メーカー: 翔泳社 発売日: 2017/09/15 メディア: 単行本(ソフトカバー) この…

c# デバッグ実行 F5(デバッグ開始) できない…

C#

二重に起動してたから動かなかったんだ(´・ω・`)

C# テキストボックス 複数行、スクロールバーの表示、文字の配置位置

C#

C# テキストボックス 複数行、スクロールバーの表示、文字の配置位置 C#フォームアプリケーション作成時 // コードで書くよりデザイナー上でプロパティを選択したほうが便利// または右にでてくる三角マークからも、以下のようによく使われるプロパティはア…

C# タブコントロール タブページ(中身)にスクロールバーを表示する

C#

C#フォームアプリケーション作成時 // タブページの内容が、乗っているコントロール(Formなど)より大きい場合に、自動でスクロールバーを表示する// 縦も横も、必要な場合に自動でスクロールバーを表示する this.TabPageName.AutoScroll = true;

C# フォーム コントロールのちらつきの対処法

C#

フォームアプリケーションの作成時、画面にテキストボックスやラベルなどのコントロールがたくさん(40個以上?)配置してあるときに切り替えや画面を閉じる際にとんでもないちらつき(しかも遅くなる)が発生する場合。 ComponentOneのコントロールにはRedraw(…