Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在C#中创建自定义运算符?_C#_Operators_Keyword_Operator Keyword - Fatal编程技术网

是否可以在C#中创建自定义运算符?

是否可以在C#中创建自定义运算符?,c#,operators,keyword,operator-keyword,C#,Operators,Keyword,Operator Keyword,可能重复: 我想知道是否有可能创建自定义操作符,例如C#中的if(至少5) 上面的语句将是,如果a至少为5,则执行此操作。 我正在寻找更多的关键字类型运算符,如typeof或is否,C不允许自定义运算符。您可以重载某些预先存在的文件,但不能像Haskell或F#那样创建自己的文件。为什么要这样做?我想你的例子不是真正的原因…>=5.这更像是一种可读性类型的东西,真的试图让语言成为我自己的语言。如果使用Visual Studio,有没有办法用宏实现这一点?或者任何类型的环境插件?@Kyle Ui

可能重复:

我想知道是否有可能创建自定义操作符,例如C#中的
if(至少5)

上面的语句将是,
如果a至少为5,则执行此操作。


我正在寻找更多的关键字类型运算符,如
typeof
is

否,C不允许自定义运算符。您可以重载某些预先存在的文件,但不能像Haskell或F#那样创建自己的文件。

为什么要这样做?我想你的例子不是真正的原因…>=5.这更像是一种可读性类型的东西,真的试图让语言成为我自己的语言。如果使用Visual Studio,有没有办法用宏实现这一点?或者任何类型的环境插件?@Kyle Uithoven:不,那怎么可能呢?如果它是一个VS宏,则必须在函数调用中放入常规C#代码。你无法回避这样一个事实:C#不允许你定义自定义运算符(感谢$Detty,它不允许)。@Kyle C#也不支持宏(出于设计和良好的理由)。当然,添加足够多的上游定制工具,你可能可以做任何你想做的事情:我就是不想做。@Kyle:不,没有办法像那样修改C。不过,你可能会考虑查看扩展方法,让你键入<代码>(如果(至少5))程序员应该是开放型的:P,来吧,这有什么害处?事实上,我完全不同意那些不想在这里使用自定义操作符的peeps。如果正在定制的运营商允许开发团队定制其应用程序域的编程技术,那么就这么做吧!我认为,作为书呆子,我们太过专注于试图让代码看起来聪明(我自己肯定是有罪的),而相反,我们需要看起来尽可能的新,至少在表面上是这样。这使得新手不会被吓倒,也不会受到开发者内部的信任!信任=好生意!!:D