考虑以下代码:
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
}
三种类型的转换之间有什么区别(好吧,第三个类型不是转换,但您有意图)。应该首选哪一个?
string s = Convert.ToString(o)
; 第五名:(string s = $"{o}"
或等效string.Format
于早期C#的形式)