在c#3.0中,是否可以在字符串类中添加隐式运算符?

前端之家收集整理的这篇文章主要介绍了在c#3.0中,是否可以在字符串类中添加隐式运算符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
就像是
  1. public static class StringHelpers
  2. {
  3. public static char first(this string p1)
  4. {
  5. return p1[0];
  6. }
  7.  
  8. public static implicit operator Int32(this string s) //this doesn't work
  9. {
  10. return Int32.Parse(s);
  11. }
  12. }

所以:

  1. string str = "123";
  2. char oneLetter = str.first(); //oneLetter = '1'
  3.  
  4. int answer = str; // Cannot implicitly convert ...

解决方法

不,没有扩展操作符(或属性等) – 只有扩展方法.

C#团队已经考虑过了 – 可以做各种有趣的事情(想象扩展构造函数) – 但它不是在C#3.0或4.0中.有关详细信息,请参阅Eric Lippert’s blog(与往常一样).

猜你在找的C#相关文章