2018-04-18から1日間の記事一覧

nameof演算子(変数名をリテラルで取得する)

変数、クラスやそのメンバーの識別子を取得したい場合 nameof演算子を使用します。 ex) StringBuilder sb = new StringBuilder(); Console.WriteLine(nameof(sb)); Console.WriteLine(nameof(sb.ToString)) これを実行した場合、"sb"及び"ToString"と表示さ…

null合体演算子

■null合体演算子 式1がnullでなければ式1、nullであれば式2を返すという処理を、以下のように 記述することができます。 ・式1 ?? 式2 ある変数が空の場合に代わりのデフォルト値を返したいといった場合に便利です。

三項演算子

■三項演算子 指定された条件式の真偽に応じて対応する値を返す演算子です。 以下の通り記載します。 ・条件式 ? 式1 : 式2 条件式1を満たした場合式1、満たさない場合、式2が実行されます。 ex) score >= 70 ? "OK!” : "NG" ifよりもシンプルに記述できます…

配列の比較

配列の比較には、『SequenceEqual』メソッドを使用します。 ex) var data1 = new[1,2,3]; var data2 = new[1,2,3]; data1.SequenceEqual(data2)

オブジェクトの比較

オブジェクト(参照型)の比較には、"=="ではなく、『Equals』メソッドを使用します。 ex) date1.Equals(date2)

数値リテラルと接尾辞

数値リテラル(1や10といった数値そのもの)について、整数、実数それぞれ 以下の通り自動で型が判定されます。 ⁻整数:大きさに応じて適切な型に変換 ⁻実数:常にDouble型 リテラルの後ろに型に応じたアルファベットを付与することで リテラルの型を指定する…

StringBuilder

■StringBuilder C#では+演算子にて文字列の連結が可能ですが、パフォーマンスが 悪いため、基本的にStringBuilderを使用します。 StringBuilder sb = new StringBuilder(); string result as string; sb.Append("あいう"); sb.Append("えお"); result = sb.T…

null許容型

nullは本来参照型変数だけに設定可能な値ですが、null許容型の値型変数 にも設定することが可能です。 null許容型変数は、変数宣言時に型の最後に『?』を付与することで宣言されます。 int? num1 = null List<string> arr = null; int? len = arr?.Count; arrがNull</string>…

Null条件演算子

Null状態のオブジェクト(初期化が行われていないオブジェクト)のフィールドや メソッドにアクセスするとNullReferenceExceptionが発生します。 これを回避するためには、オブジェクトがNullか判定してからアクセスする 必要があります。 string str = null; …

型変換

■数値型同士 数値型同士の型変換は、暗黙的型変換が可能。 ただし、広い型から狭い型への変換は明示が必要。 ex) int i =13; byte b = (byte)i; ■文字列から数値 文字列を数値にする場合、対応する数値型のParseメソッドを使用。 ex) Int32.Parse("120"); た…