次のコードを検討してください。
void Handler(object o, EventArgs e)
{
// I swear o is a string
string s = (string)o; // 1
//-OR-
string s = o as string; // 2
// -OR-
string s = o.ToString(); // 3
}
3つのタイプのキャスティングの違いは何ですか(そう、3番目はキャスティングではありませんが、意図がわかります)。どちらを優先すべきですか?
string s = Convert.ToString(o)
; 5日:(string s = $"{o}"
または同等string.Format
に以前のC#のフォーム)