配列
配列の宣言 `型名[] = 変数名;`要素数の指定
変数名 = new 型名[要素数];
配列の宣言と要素数の指定
型名[] 変数名 = new 型名[要素数];
配列の初期化(配列の宣言と値代入)
型名[] 変数名 = {値, 値 , 値};
foreach文
``` foreach (型名 変数名 in 配列変数名) { } ```foreach (KeyValuePair<型名, 型名> 変数名 in Dictionary型の変数名)
{
//変数名.Key、変数名.ValueでKey、Valueを取得できる
}
List
List型の変数をつくる `List<型名> 変数名 = new List<型名>();`Listに要素を追加
変数名.Add(追加する値);
Listの要素数取得
変数名.Count;
Listから要素を削除
変数名.RemoveAt(インデックス)
変数名.RemoveAt(削除したい値)
*同じ値を持つ要素が複数ある場合、インデックスが一番小さい要素が削除される
Listを昇順に並び替える
変数名.sort();
Dictionary
Dictionary型の変数を作る `Dictionary<キーの型、値の型> 変数名 = new Dictionary<キーの型、値の型>();`Dictionaryに要素を追加
変数名.Add(キー、値);
Dictionaryからキーに対応する値を取得
変数名[キー]
int型
TryParse(string型の値、変換後の値が代入される変数)メソッド
string型をint型に変換し、正しく変換できればtrueを返す。Parse(文字列型の値)メソッド
string型からint型に変換する。string型
Split('文字')メソッド
引数に与えた文字で区切り、string型の配列にする。Contains('文字')メソッド
判定する文字列の中に、引数で指定した文字が含まれてるか判定StartsWith('文字')メソッド
判定する文字列の先頭に、引数で指定した文字が含まれてるか判定EndWith('文字')メソッド
判定する文字列の末尾に、引数で指定した文字が含まれてるか判定StreamReader型のメソッド
ReadLineメソッド
ファイルから一行読み取り文字列として返す。DataSet型
データセット名(※小文字始まり).データテーブル名.Addデータテーブル名Row(登録する1行分のデータ)メソッド
DataTableに値を追加値型の引数を参照型として渡す
ref修飾子・・引数に渡す変数に予め値を代入すべし out修飾子・・引数に渡す変数に予め値を代入せんでいいDataGridView型
currentRow.Indexプロパティ
選択している行のインデックスを取得プロパティ
アクセサ(getter, setter)を作る仕組み アクセサを直接使うよりも簡潔にコードが書けるpublic プロパティの型名 プロパティ名
{
set
{
変数名 = value;
}
get
{
return 変数名;
}
}
LINQ
配列やコレクションの中から条件を満たす値だけ取り出したり、各データに特定の処理をしたりできる。配列やコレクションの中からラムダ式の条件に合うデータだけを取り出す
var 変数名 = 配列やコレクションの変数名.Where(ラムダ式)
※var・・代入された値によってコンパイラが自動的に型を判断
配列やコレクションのデータにラムダ式の処理を加えて新しいデータを作る
var 変数名 = 配列やコレクションの変数名.Select(ラムダ式)
要素数を取得する
var 変数名 = 配列やコレクションの変数名.Count()
オーバーロード
引数の型と個数が違うとき同じ名前のメソッドを複数定義できるオーバーライド
オーバーライドされる基本クラスのメソッドの書き方
virtual 戻り値の型 メソッド名()
{
メソッドの処理内容
}
オーバーライド(override)する派生クラスのメソッド書き方
override 戻り値の型 メソッド名()
{
メソッドの処理内容
}
抽象クラスと抽象メソッド
抽象メソッド・・メソッドの処理は派生クラスで実装することを前提とした中身のないメソッド 抽象クラス・・抽象メソッドを1つ以上もつクラス基本クラス
abstract class クラス名 //abstarctをつけるとこのクラスのインスタンスは生成できない
{
public abstract 戻り値の型 メソッド名();
}
派生クラス
class クラス名 : 基本クラス名
{
//抽象メソッドの中身を書かないとエラー
public override 戻り値の型 メソッド名()
{
処理内容
}
}
static
static・・クラスのメンバ変数やメンバメソッドにつけると、それらはインスタンスを作らずに呼び出せるclass Employee
{
public static string companyName;
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Employee.companyName);
}
}
partial
2つのファイルに分けてクラスを記述する場合、クラスの前につける。public partial class Form1 : Form
{
省略
}
構造体
構造体:値型 ↔︎ クラス:参照型 ex)2次元座標を表すPoint型、ベクトルを表すVector型、色を表すColor型struct 構造体名
{
メンバ変数
メンバメソッド
}
usingステートメント
usingのブロックを抜けるタイミングでそのクラスのDisposeメソッドを呼ぶ。 以下の場合は、Disposeメソッドによってファイルを閉じている。 using (System.IO.StreamReader file =
new System.IO.StreamReader(@"..\..\data.txt"))
{
while (!file.EndOfStream)
{
string line = file.ReadLine();
string[] data = line.Split(',');
this.phonebook.Add(data[0], data[1]);
}
}
//@をつけた文字列は、特殊な記号(エスケープシーケンス\nなど)を使っていない文字列として扱われる