C#

C#_画像をリソースに追加、及びリソースの利用

リソース ( resource ): 1 ) 資源、財力 2 ) コンピュータで、動作の実行に必要な各種の資源総称。 ( CPU、メモリ、HDD空き容量、ディスプレイ上の面積 ) 3 ) Windows では、プログラム内に埋め込まれているテキストやメニューの情報など、 プログラムが利…

C#_0埋め(ゼロパディング)

よく忘れる。数値を0埋めの文字列に変換。2通りある。 int a = 5; a.ToString("D4");//0005 String.Format("{0:D4}", a);//0005 D:Decimal (10進数)を表す書式指定子。 String.Format("{0:D4}", a); は string str = $"{a:D4}"; //0005 と、補完文字列機能…

C#_TryParse と Parse の違い

どちらも 文字列 → 数値 に変換する処理。 違いは 文字列 → 数値 に変換できない時、処理が止まるか否か Parse :止まる ( 例外発生 ) TryParse:止まらない TryParse( 変換する文字列, out 変換後の値を受け取る変数 );変換する文字列が数値として有効なら…

C#_Listの要素数を求める

リスト.Count( ); ex) リスト List<int> t = new List<int> { 100, 200, 300, 400, 500 };t.Count();//t 要素数:5 リスト一次元配列 List<int> testListT = new List<int>{ new List<int> {11, 22, 33}, new List<int> {41, 52, 63}, new List<int> {71, 82, 93}, new List<int> {21, 32, 43},};int </int></int></int></int></int></int></int></int>…

C#_List の二次元配列

要素へのアクセス方法が分からなくなったのでメモ。 List の一次元配列 List<int>[ ] testListT = new List<int>[ ]{ new List<int> {11, 22, 33}, new List<int> {41, 52, 63}, new List<int> {71, 82, 93}, new List<int> {21, 32, 43},}; List<int> a = testListT[0];int aa = testListT[0][0</int></int></int></int></int></int></int>…

C#_配列の要素数 (長さ) を求める

総数を求める場合 配列.Length; 次元ごとに求める場合 多次元配列.GetLength( 次元数 ); 0 が一番浅い。 以下、サンプルコード 一次元 int testO = new int { 2, 3, 4, 5 };int c1 = testO.Length;//c1長さ:4 二次元 string[,] testT = new string[3, 4] { …

C#_ファイルダイアログボックスの拡張子フィルター

どこに書くか忘れるし、どうやって書くか忘れるのでメモ。 saveFileDialog や openFileDialog を配置。 プロパティの「動作」にある「Filter」に以下を記述。表示する文字|拡張子 複数設定したい場合は、そのままバーティカルバー( | )で区切る。文字1|拡張…

C#_ジェネリックコレクションとは

ジェネリック:型に依存しないで記述する為の仕組み。 コレクション:collection [可算名詞] 収集物、収蔵品、集まり。 ジェネリックコレクション 型に依存しないデータの箱 (データの型が int でも float でも使える箱)。 データを入れる箱。 ジェネリック…

C#_配列のインデックスを再採番 (サイズ変更)

結論。 配列のままではめんどくさそう。 List に変換することにした。 既にある配列を .ToList< 型 > で List 化 し変数に格納。 List を格納したデータを Remove したり Add したりする。 変更した List を配列に格納。 ex 1 ) intTest という配列データを …

C#_List の一次元配列

ただの List //List<int> intList = new List<int>() { 10, 20, 30 };//ORList<int> intList = new List<int>();intList.Add(10);intList.Add(20);intList.Add(30); intList は以下の様に格納。 ■Listの一次元配列 List<int>[ ] intList = new List<int>[ ]{ new List<int> {10, 11, 12}, new Li</int></int></int></int></int></int></int>…

C#_var とは

var は わざわざ型を指定しなくても分かるよね。自分で推測してくれ。 という指示をコンパイルに出すキーワード。 ● ローカル変数 での var ( 暗黙的に型指定されるローカル変数 ) var は 右側の式から変数の型を推測しろとコンパイラに指示する。 ex) var i…

C#_変数の中身を確認したい

Console.WriteLine( "中身:{0}・F:{1}・T:{2}" , hoga, fuga, test ); をコード内に書けばOK {0} には、変数 hoga の値が出力され、 {1} には、変数 fuga の値が出力され、 {2} には、… というように「出力」ウィンドウに表示される。 出力 ウィンドウが…

C#_三次元配列

配列に悩まされるのでメモ4。めっちゃ分からなくなる。 型[ , , ] 変数 = new 型 [ Z, Y, X ] ; Z:要素の数 (奥行のサイズ)Y:1つのZに格納する要素の数 ( 行 )X:1つのYに格納する要素の数 ( 列 ) ※ Memo 配列を考える時、座標で考えている。hoga[1,2] は …

C#_(三?)多次元配列 の初期化

二次元配列 ( 三次元配列 ) と 配列の中の配列 ( の中の配列 ) は違うものらしい。二次元配列 ( 三次元配列 ) は1つの foreach で要素全て取り出せるとのこと。 下記から。http://mag.autumn.org/Content.modf?id=20040810213604 配列に悩まされるのでメモ3…

C#_二次元配列 の初期化・要素代入

配列に悩まされるのでメモ2。めっちゃ分からなくなる。 型[ , ] 変数 = new 型[ 要素の数 ( 行 ) , 1 つの要素に格納する数 ( 列 ) ] ; ※ Memo 配列を考える時、座標で考えている。hoga[1,2] は y = 1, x = 2。 y は縦軸だから、hoga[列, 行] と思いがちだが…

C#_一次元配列 の初期化・要素代入

配列に悩まされるのでメモ。List なら長さ決まっていないから楽なのだが。 int[ ] a は 宣言 と格納する要素の数 ( 配列の長さ ) を確保。 int[ ] b は 配列の初期化。 int[ ] a = new int[4]; int[ ] b = new int[ ] { 1, 2, 3, 4 }; //a の配列に要素を代…

C#_Form や Panel にスクロールバーをつける

Form や Panel において、 プロパティの 配置 にある「AutoScroll」を True にする。 AutoScroll: コントロールコンテンツ ( Form や Panel に載せたBottonなど )が 表示可能範囲より大きい場合に、スクロールバーを自動的に 表示するかどうかを示す。 Pict…

C#_配列やListの要素を取得

for 文や foreach 文を使わない。 LINQ の Select や Where を用いる。 ・Select:すべての要素に対して処理。 型 要素の取得用変数 = 変数.Select( 要素 => 要素に対する処理 ).ToArray(); ↑ で配列(など)から一つずつデータを取り出して処理してくれている…

C#_配列の書き方

何故書けないんだ、と調べるまで混乱していたのでメモ。 Array inA = new Array[5]; みたいなことやっていた。php の array() とは別物のよう。 型[ ] 変数名 = new 型[ 配列の長さ ] ex) int 型の配列 int[ ] numbersA = new int[3];numbersA[0] = 10;numbe…

C#_デザインにてプロパティのコントロール切り替え

なんてことはない。 コントロール名を表示しているプロパティの上部はセレクトボックスなので、 そこで値を変えたいコントロールを選択する。 以上。 ↓ 何に困っていたのか Panel に PictureBox を Dock させて Fill にした時。 Panel の プロパティ値を変え…

C#_Checkedの反転

三項演算子で書いていたのだが、それよりもっと簡単な記述を見つけたので。 checkBox1.Checked = !checkBox1.Checked; 以上。 ↓ サンプル。 ボタンでチェックを入れ外し。 private void button1_Click(object sender, EventArgs e){ checkBox1.Checked = !ch…

C#_ソリューションエクスプローラーにて、現在開いているファイルにマーカをつける

「 Form1.cs」ファイルを開いている時、エクスプローラーにて を としたい。 メニュー の「ツール」にある「オプション」を選択 左の「プロジェクトおよびソリューション」を選択 「アクティブな項目を~選択された状態にする(C)」にチェックを入れる 「OK」…

C#_pictureBox の背景画像設定

※pictreBox のDockはFill 1) BackgroundImage から画像を選択。 2) BackgroundImageLayout から画像の配置を選択。 3) 終わり。 ※クリックで画像拡大 赤枠が 1) 、選択部分が 2) での設定箇所。 メンバ名説明 None 左上に配置される。 画像は元サイズ。 Tile…

C#_pictureBox に貼り付けた画像の表示設定

覚えているつもりが覚えていなかったのでmemo。 前提:Image で画像を設定。 (クリックで画像拡大) 1 ) Image プロパティで画像を設定。 2 ) SizeMode プロパティで表示方法を設定。 3 ) 終わり。 ソースで設定する場合。 pictureBox1.SizeMode = PictureBox…

C#_ジェネリッククラス・メソッドの記述方法

続き。 ジェネリッククラスの記述方法 class クラス名 <型引数> where T : 型引数の型が満たすべき条件{ //hoge} ジェネリックメソッドの記述方法 アクセスレベル 戻り値の型 メソッド名 <型引数> (引数リスト) where T : 型引数の型が満たすべき条件{ //fug…

C#_ジェネリックとは

型 に依存しないクラスやメソッドを記述するための仕組み。※C# は型を指定しないと記述できない。メソッドを作成する時は必ず型を指定する。 generics : 総称的な、一般的な(名称)、包括的な 単数形では名詞を指さない。Java ではジェネリクスという語訳が…

C#_複数のデータを一つの変数に格納したい (複合型)

例えば、出席番号・名前・性別 を変数に格納したい。 データの形としては [0]には、No → 001、Name → 赤坂、Sex → M [1]には、No → 002、Name → 伊藤、Sex → F というような感じに。 PHPでいうならば、以下の様に。 Array( [0] => Array ( [No] => 001 [Name…

C#_アクセシビリティとは

アクセシビリティ:どこからアクセスできるかという制限の度合い。accessibility:近づきやすさ、動かされやすいこと、影響を受けやすいこと アクセシビリティ説明 public どこからでもアクセス可 protected クラス内部と、派生クラスの内部からのみアクセス…

C#_アクセシビリティに一貫性がありません。低く設定されています。の意味

アクセシビリティに一貫性がありません。hoge のアクセシビリティは fuga よりも低く設定されています。 のエラーは、 アクセス修飾子( public・protected・private )がおかしいよ、という意味。 アクセシビリティ:アクセスできる度合い。 accessibility:…

C#_特定の値があるか否か確認

String に対して調べる時は String.Contains("調べたい文字列"); List に対して(要素があるか否かを)調べる時は List.Contains("調べたい要素"); どちらも、存在するならば true を返し なければ false を返す。 contain [動]:含む、包含する。 String.Cont…

C#_ソースの全画面表示

ソース画面をフルに表示させる方法。 ツールボックスやソリューション・プロパティは非表示なことはもちろん、Windows タスクバーも非表示となる。 以下を同時押し。 「Alt」+「Shift」+「Enter」 元のウィンドウに戻すときも同じキーを押す。 こちらから。 …

C#_ボタンサイズの変更

フォーム調整の時と同様、ボタンのサイズ変更で時間食ったので。 ※ボタンは、checkbox や radiobutton を 「Appearance」で Button に設定したボタン。 appearance:外観トグルボタンを使用したい時に Appearance で設定した。On の時はへこみ、Off の時にへ…

C#_フォームの位置を調整

フォームを立ち上げた時の位置を調整。 フォームのプロパティ値 Location を変更しても動かなかったのでメモ。 表示メニューのプロパティウィンドウ → プロパティの「配置」→ Start Position を Manual に変更する。 同じく「配置」の Location を任意の値に…

C#_ソースコードを隠す

アウトライン機能という。 アウトライン機能:表示を一時的に消したり、上位の見出しだけを表示する機能。 アウトライン :輪郭、概要。 隠したい( 折り畳みたい 先頭に「#region」末に「#endregion」と記述する。 #region Fuga( 説明 ) public void fuga(){…

C#_logの出力( AppendAllText )

デバッグや MessageBox.Show() でもカバーできない時に。 System.IO.File.AppendAllText(' 出力するファイルパス&名前 ', 出力する値); try { //何か処理}catch (Exception e){ string appendText = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " " + e…

C#_リストの削除

index を指定。index は 0 から。 2番目の要素を削除したい場合 hogeList.RemoveAt(1); 2 番目から 4つの要素( 5番目まで )を削除したい時 hogeList.Range(1, 4); ex)hogeList.Add(10);hogeList.Add(20);//削除hogeList.Add(30);//削除hogeList.Add(40);//削…

C#_Windows Formを追加する

これ ↓ を追加したい場合。 ソリューションエクスプローラからプロジェクト名を右クリック 「追加」の「Windows フォーム」をクリック フォーム名を入力してOK ※ソリューションエクスプローラがなかったならば、メニューバーの「表示」から。 以上。 ↓ キャ…

C#_yield return

(x,y) をwhile で回すごとに呼び出し元に結果を返している。点だけを返しているが、コンパイラが勝手に配列(またはList )のようなものに返してくれる。 private IEnumerable<Point> Hoge(string filename){ int x; int y; using (StreamReader read = new StreamRea</point>…

C#_保存ダイアログボックス OK 押下時の判定

if ( saveFileDialog1.ShowDialog() == DialogResult.OK ) ↑ の判定は、OKを押下した時 true 評価ということは知っていたが、コードの意味は分からなったので調べた。 ( 保存ダイアログボックスの設置は下記の【 前提 】に記述 ) if 文 なので、 if ( A==B )…

C#_プロジェクト作成

思わぬところでハマった。 ※クリックすればキャプチャは拡大表示になる。 1.Visual Studio の起動 スタートメニューから起動 これは、 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe を起動している。 何故か Blend.exe の…

C#_組込み型

組込み型とは、あらかじめ用意されている型。 符号付き 符号無し 単純型 整数型 8 bit整数 sbyte byte 16 bit整数 short ushort 32 bit整数 int uint 64 bit整数 long ulong 文字型 char 浮動小数点型 単精度 float 倍精度 doubule デシマル (10進小数 ) dec…

C#_型の分類

以下の様に分類できる。 値型 構造体型 ユーザー定義構造体( struct ) 数値型 整数型 byte, sbyte, char, short, ushort int, uint, long, ulong 浮動小数点型 float, double decimal bool 列挙型( enum ) 参照型 クラス( class ) インターフェース( interfa…

C#_開発環境を整える

Visual Studio 2015を使用する。 これをインストールすれば、開発環境は整ったことになる。 Visual Studio とは開発ツール。 インストール https://www.visualstudio.com/ja/downloads/↑ からVisual Studio Community 2015(無償)を選択してダウンロード。 …