where T : struct
Run Code Online (Sandbox Code Playgroud)
我们C#开发人员都知道C#的基础知识.我的意思是声明,条件,循环,运算符等.
我们中的一些人甚至掌握了Generics,匿名类型,lambdas,LINQ等......
但是C#粉丝,瘾君子,专家几乎都不知道C#最隐藏的功能或技巧是什么?
yield由迈克尔·葡萄汁var由迈克尔·葡萄汁using()kokos的声明readonly由kokosas由迈克·斯通as/ is由埃德Swangrenas/ is(改进)由Rocketpantsdefault由deathofratsglobal::通过pzycomanusing()由块AlexCusevolatile作者:JakubŠturcextern alias作者:JakubŠturcPython编程语言有哪些鲜为人知但有用的功能?
这个问题之所以存在是因为它具有历史意义,但它不被认为是本网站的一个好的,主题上的问题,所以请不要将它作为证据,你可以在这里提出类似的问题.
总有一些功能在边缘场景中很有用,但正因如此,大多数人都不了解它们.我要求的是教科书通常不会教授的功能.
你知道的是什么?
我知道这听起来像是一个让人尴尬的问题,但让我解释一下我来自哪里.
大学毕业后,我在PHP商店找到了一份工作.我在那里工作了一年半,并且认为我已经学到了所有有关编程的知识.
然后我在一家规模庞大的公司找到了一份单人内部开发工作室,所有工作都在C#中.在我对这个职位的承诺中,我开始阅读大量的博客和书籍,并很快意识到我认为我知道一切都是错的.我学习了单元测试,依赖注入和装饰模式,松散耦合的设计原则,继承辩论的组合等等 - 我仍然非常吸收它.毋庸置疑,我的编程风格在去年完全改变了.
现在我发现自己正在为一个朋友的初创公司做一些编码的PHP项目,我觉得完全受限制而不是用C#编程.让我感到困扰的是,必须通过追加'$ this->'来引用类范围内的所有变量.令我很生气的是,我尝试过的IDE中没有一个具有非常好的智能感知,而且我的SimpleTest单元测试方法必须从"测试"一词开始.令我疯狂的是,动态类型使我无法隐式指定方法所期望的参数类型,并且必须编写switch语句来执行方法重载.我不能忍受你不能拥有嵌套的命名空间,并且必须使用::运算符来调用基类的构造函数.
现在我无意启动PHP与C#的争论,而我的意思是说我确定有些PHP功能我不知道或者知道但是没有正确使用.我被置于我的C#宇宙中,无法看到玻璃碗外面.
所以我问,你最喜欢的PHP功能是什么?你可以做些什么,你不能或在.Net语言中更难?
继续"隐藏的......的特征"模因,让我们分享Ruby编程语言鲜为人知但有用的功能.
尝试用核心Ruby限制这个讨论,没有任何Ruby on Rails的东西.
也可以看看:
(请注意,每个答案只有一个隐藏的功能.)
谢谢
Perl中有哪些非常有用但却深奥的语言功能,你实际上可以用来做有用的工作?
指南:
(这些都来自Corion的回答)
运营商:
++和一元-运营商处理字符串m//运营商的特殊情况引用结构:
语法和名称:
模块,Pragma和命令行选项:
变量:
这是我正在尝试运行的简化版本:
for (var i = 0; i < results.length; i++) {
marker = results[i];
google.maps.event.addListener(marker, 'click', function() {
change_selection(i);
});
}
Run Code Online (Sandbox Code Playgroud)
但我发现每个监听器都使用results.length的值(for循环终止时的值).我如何添加监听器,使得每次使用i时我添加它的值,而不是对i的引用?
javascript closures listener pass-by-reference pass-by-value
HTML是使用最广泛的语言(至少作为标记语言)尚未获得应有的信誉.
考虑到它已经存在了这么多年,诸如FORM/INPUT控件之类的东西仍然保持不变,没有添加新的控件.
至少从现有功能来看,您是否知道任何不为人所熟知但非常有用的功能.
当然,这个问题是这样的:
JavaScript的
隐藏功能隐藏的CSS
功能隐藏C#的
功能隐藏的VB.NET
功能隐藏的Java
隐藏功能隐藏的功能经典ASP
隐藏的ASP.NET
功能隐藏的Python
功能隐藏的TextPad
功能隐藏的Eclipse功能
不要提及HTML 5.0的功能,因为它在工作草案中
请为每个答案指定一个功能.