c# – String,Int32等的操作在哪里定义?

前端之家收集整理的这篇文章主要介绍了c# – String,Int32等的操作在哪里定义?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过反射器查看String和Int32类型,但找不到任何已定义的运算符.

如果它们没有定义,那么/ – 等对这些类型如何工作?

解决方法

数字运算符是IL本身的一部分.字符串上的“”运算符有点特殊 – 它不会被字符串类型本身重载,它由编译器完成. C#编译器翻译:
string x = a + "hello" + b;

成:

string x = string.Concat(a,"hello",b);

这比使用普通运算符进行连接更有效,因为否则必须在每个连接处创建新字符串.

原文链接:https://www.f2er.com/csharp/98115.html

猜你在找的C#相关文章