问题标签 [hidden-features]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#的隐藏特性?
从这个问题中了解到以下内容后,我想到了这一点:
我们,C# 开发人员,都知道 C# 的基础知识。我的意思是声明、条件、循环、运算符等。
我们中的一些人甚至掌握了诸如泛型、匿名类型、lambdas、LINQ之类的东西......
但是,即使是 C# 爱好者、爱好者、专家也几乎不知道的 C# 最隐藏的特性或技巧是什么?
以下是迄今为止揭示的功能:
关键词
yield
迈克尔·斯图姆var
迈克尔·斯图姆using()
科科斯的声明readonly
通过kokosas
迈克·斯通as
/埃德is
·斯旺伦as
/is
(改进)由Rocketpantsdefault
by死神global::
通过pzycomanusing()
AlexCuse的积木volatile
通过Jakub Šturcextern alias
通过Jakub Šturc
属性
DefaultValueAttribute
迈克尔·斯图姆ObsoleteAttribute
通过丹尼蓝精灵DebuggerDisplayAttribute
通过斯图DebuggerBrowsable
并由bdukesDebuggerStepThrough
_ThreadStaticAttribute
由马西达FlagsAttribute
通过马丁克拉克ConditionalAttribute
通过安德鲁伯恩斯
句法
??
kokos的 (coalesce nulls) 运算符- Nick Berardi的数字标记
where T:new
由Lars Mæhlum- Keith的隐式泛型
- Keith的单参数 lambda
- 基思的汽车属性
- Keith的命名空间别名
- 带有@的逐字字符串文字,Patrick
enum
lfoust的价值观- @variablenames by marxidad
event
marxidad的运算符- Portman格式化字符串括号
- xanadont的属性访问器可访问性修饰符
- JasonS的条件(三元)运算符 (
?:
) checked
和unchecked
操作员Binoj Antonyimplicit and explicit
Flory的运算符
语言特点
- Brad Barker的可空类型
- Keith的匿名类型
__makeref __reftype __refvalue
犹大·希曼戈- lomaxx的对象初始化器
- 大卫在达科他州格式化字符串
- marxidad的扩展方法
partial
乔恩·埃里克森的方法- John Asbeck的预处理器指令
DEBUG
Robert Durgin的预处理器指令- SefBkn的运算符重载
- 通过chakrit进行类型推断
- Rob Gough将布尔运算符提升到一个新的水平
- 将值类型变量作为接口传递而不由Roman Boiko装箱
- Roman Boiko以编程方式确定声明的变量类型
- Chris的静态构造函数
- 使用 LINQ 的roosteronacid更容易上手/浓缩的 ORM 映射
__arglist
扎克保龄球
Visual Studio 功能
框架
TransactionScope
通过KiwiBastardDependantTransaction
通过KiwiBastardNullable<T>
由IainMHMutex
由迪亚哥System.IO.Path
作者:ageektrappedWeakReference
胡安·曼努埃尔
方法和属性
String.IsNullOrEmpty()
KiwiBastard的方法List.ForEach()
KiwiBastard的方法BeginInvoke()
, Will DeanEndInvoke()
的方法Nullable<T>.HasValue
和RismoNullable<T>.Value
的属性GetValueOrDefault
约翰·希恩的方法
提示与技巧
- Andreas HR Nilsson的事件处理程序的好方法
- 约翰的大写比较
- 不通过dp反射访问匿名类型
- Will懒惰地实例化集合属性的快速方法
- roosteronacid的类似 JavaScript 的匿名内联函数
其他
- kokos 的网络模块
- Duncan Smart的LINQBridge
- Joel Coehoorn的并行扩展
javascript - JavaScript 的隐藏特性?
您认为每个程序员都应该知道 JavaScript 的哪些“隐藏特性”?
在看到以下问题的优秀答案后,我认为是时候询问 JavaScript 了。
尽管 JavaScript 可以说是目前最重要的客户端语言(问问 Google),但令人惊讶的是,大多数 Web 开发人员很少意识到它的强大功能。
php - PHP的隐藏功能?
我知道这听起来像是一个卖淫的问题,但让我解释一下我来自哪里。
大学毕业后,我在一家 PHP 商店找到了一份工作。我在那里工作了一年半,并认为我已经学会了所有关于编程的知识。
然后我在一家大型公司找到了一份单人内部开发商店的工作,所有工作都使用 C#。在我对这个职位的承诺中,我开始阅读大量的博客和书籍,并很快意识到我认为自己无所不知是多么错误。我学习了单元测试、依赖注入和装饰器模式、松散耦合的设计原则、关于继承的组合之争等等——我仍然非常吸收它。不用说我的编程风格在去年完全改变了。
现在,我发现自己在为朋友的初创公司做一些编码工作,我发现自己与使用 C# 编程相比完全受到限制。必须通过附加 '$this->' 来引用类范围内的所有变量,这让我很困扰。令我烦恼的是,我尝试过的所有 IDE 都没有非常好的智能感知,而且我的 SimpleTest 单元测试方法必须以“测试”这个词开头。动态类型使我无法隐式指定方法期望的参数类型,并且您必须编写 switch 语句来执行方法重载,这让我发疯了。我不能忍受你不能有嵌套的命名空间,并且必须使用 :: 运算符来调用基类的构造函数。
现在我无意发起 PHP 与 C# 的辩论,而是我的意思是,我确信有一些 PHP 功能我不知道或知道但无法正确使用。我置身于我的 C# 世界中,在玻璃碗外面看不到东西。
所以我在问,你最喜欢 PHP 的哪些特性?您可以在其中做哪些在 .Net 语言中做不到或更困难的事情?
ruby - Ruby 的隐藏特性
继续“...的隐藏特性”模因,让我们分享 Ruby 编程语言鲜为人知但有用的特性。
试着用核心 Ruby 来限制这个讨论,而不用任何 Ruby on Rails 的东西。
也可以看看:
(请,每个答案只有一个隐藏功能。)
谢谢
c++ - C++的隐藏特性?
当涉及到“隐藏的特征”这一行问题时,没有 C++ 的爱吗?我想我会把它扔在那里。C++有哪些隐藏的特性?
visual-studio - Hidden Features of Visual Studio (2005-2010)?
Visual Studio is such a massively big product that even after years of working with it I sometimes stumble upon a new/better way to do things or things I didn't even know were possible.
For instance-
Crtl + R, Ctrl + W to show white spaces. Essential for editing Python build scripts.
Under
"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor"
Create a String called Guides with the value "RGB(255,0,0), 80" to have a red line at column 80 in the text editor.
What other hidden features have you stumbled upon?
python - Python的隐藏特性
Python 编程语言有哪些鲜为人知但有用的特性?
- 尝试将答案限制在 Python 核心。
- 每个答案一个功能。
- 给出该功能的示例和简短描述,而不仅仅是文档链接。
- 使用标题作为第一行标记要素。
答案的快速链接:
vb.net - VB.NET 的隐藏特性?
我已经通过浏览C# 的隐藏特性学到了很多东西,当我找不到与 VB.NET 类似的东西时,我感到很惊讶。
那么它的一些隐藏或鲜为人知的功能是什么?
c - C的隐藏特征
我知道所有 C 编译器实现背后都有一个标准,所以不应该有隐藏的特性。尽管如此,我确信所有 C 开发人员都有他们一直使用的隐藏/秘密技巧。
perl - Perl 的隐藏特性?
Perl 中有哪些真正有用但深奥的语言特性,您实际上已经能够使用它们来完成有用的工作?
指导方针:
- 尝试将答案限制在 Perl 核心而不是 CPAN
- 请给出一个例子和一个简短的描述
在其他语言的隐藏功能中也可以找到隐藏功能:
(这些都来自Corion的回答)
- C
- 达夫的装置
- 便携性和标准性
- C#
- 空格分隔列表和字符串的引号
- 别名命名空间
- 爪哇
- 静态初始化器
- JavaScript
- 函数是一等公民
- 块范围和闭包
- 通过变量间接调用方法和访问器
- 红宝石
- 通过代码定义方法
- PHP
- 无处不在的在线文档
- 魔术方法
- 符号引用
- Python
- 一行值交换
- 甚至可以用您自己的功能替换核心功能
其他隐藏功能:
运营商:
- bool 准算子
- 触发器运算符
- 也用于列表构建
- 和
++
一元运算-
符处理字符串 - 重复运算符
- 宇宙飞船操作员
- || 运算符(和 // 运算符)从一组选项中进行选择
- 钻石算子
m//
运营商的特殊情况- 波浪号“运算符”
引用构造:
语法和名称:
模块、编译指示和命令行选项:
变量:
循环和流量控制:
常用表达:
其它功能:
其他技巧和元答案:
也可以看看: