为什么你可以做:
string ham = "ham " + 4;
但不是:
string ham = 4;
如果在连接时有一个隐式的转换/字符串转换操作,为什么在将其分配为字符串时不一样? (当然不用一些操作符重载)
对于赋值,没有从int到字符串的隐式转换,因此您不能在没有显式转换的情况下将4分配给字符串.
换句话说,编译器处理这两个任务的方式非常不同,尽管它们在C#中看起来非常相似.