相关疑难解决方法(0)

C#的隐藏功能?

在我从这个问题中学到以下内容后,我想到了这一点:

where T : struct
Run Code Online (Sandbox Code Playgroud)

我们C#开发人员都知道C#的基础知识.我的意思是声明,条件,循环,运算符等.

我们中的一些人甚至掌握了Generics,匿名类型,lambdas,LINQ等......

但是C#粉丝,瘾君子,专家几乎都不知道C#最隐藏的功能或技巧是什么?

以下是到目前为止显示的功能:


关键词

属性

c# hidden-features

1475
推荐指数
230
解决办法
68万
查看次数

最奇怪的语言特征

在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?

每个答案只能有一个功能.

language-agnostic programming-languages

975
推荐指数
176
解决办法
48万
查看次数

Java"双支撑初始化"的效率?

Java隐藏功能中,最佳答案提到了Double Brace Initialization,它具有非常诱人的语法:

Set<String> flavors = new HashSet<String>() {{
    add("vanilla");
    add("strawberry");
    add("chocolate");
    add("butter pecan");
}};
Run Code Online (Sandbox Code Playgroud)

这个成语创建了一个匿名内部类,其中只包含一个实例初始化程序,"可以使用包含作用域中的任何[...]方法".

主要问题:这听起来效率低吗?它的使用是否应限于一次性初始化?(当然炫耀!)

第二个问题:新的HashSet必须是实例初始化程序中使用的"this"...任何人都可以了解机制吗?

第三个问题:在生产代码中使用这个成语是否过于模糊

简介:非常非常好的答案,谢谢大家.在问题(3)中,人们认为语法应该是清楚的(尽管我建议偶尔发表评论,特别是如果你的代码会传递给可能不熟悉它的开发人员).

在问题(1)上,生成的代码应该快速运行.额外的.class文件会导致jar文件混乱,并且会稍微减慢程序启动速度(感谢@coobird测量它).@Thilo指出垃圾收集可能会受到影响,在某些情况下,额外加载类的内存成本可能是一个因素.

问题(2)对我来说最有趣.如果我理解答案,那么DBI中发生的事情是匿名内部类扩展了由new运算符构造的对象的类,因此具有引用正在构造的实例的"this"值.井井有条.

总的来说,DBI让我感到非常好奇.Coobird和其他人指出,您可以使用Arrays.asList,varargs方法,Google Collections和提议的Java 7 Collection文字获得相同的效果.Scala,JRuby和Groovy等较新的JVM语言也为列表构建提供了简明的符号,并且与Java良好地互操作.鉴于DBI使类路径混乱,减慢了类加载速度,并使代码更加模糊,我可能会回避它.但是,我打算在一位刚刚获得SCJP的朋友身上发表这篇文章,并且喜欢关于Java语义的好朋友!;-) 感谢大家!

7/2017:Baeldung 对双支撑初始化有很好的总结,并认为它是一种反模式.

12/2017:@Basil Bourque指出,在新的Java 9中你可以说:

Set<String> flavors = Set.of("vanilla", "strawberry", "chocolate", "butter pecan");
Run Code Online (Sandbox Code Playgroud)

这肯定是要走的路.如果您遇到早期版本,请查看Google Collections的ImmutableSet.

java collections performance initialization

786
推荐指数
10
解决办法
12万
查看次数

什么是对象序列化?

"对象序列化"是什么意思?你能用一些例子解释一下吗?

java serialization object-serialization

373
推荐指数
8
解决办法
28万
查看次数

JavaScript的隐藏功能?

您认为每个程序员应该知道哪些JavaScript的"隐藏功能"?

在看到以下问题的答案的优秀质量后,我认为是时候向它询问JavaScript了.

虽然JavaScript现在可以说是最重要的客户端语言(只是问谷歌)但令人惊讶的是,大多数网络开发人员都很少理解它的实力.

javascript hidden-features

312
推荐指数
68
解决办法
13万
查看次数

Ruby的隐藏功能

继续"隐藏的......的特征"模因,让我们分享Ruby编程语言鲜为人知但有用的功能.

尝试用核心Ruby限制这个讨论,没有任何Ruby on Rails的东西.

也可以看看:

(请注意,每个答案只有一个隐藏的功能.)

谢谢

ruby hidden-features

160
推荐指数
36
解决办法
4万
查看次数

Perl的隐藏功能?

Perl中有哪些非常有用但却深奥的语言功能,你实际上可以用来做有用的工作?

指南:

  • 尝试限制Perl核心的答案,而不是CPAN
  • 请举例和简短说明

其他语言的隐藏功能隐藏功能:

(这些都来自Corion的回答)

  • C
    • 达夫的装置
    • 便携性和标准性
  • C#
    • 用于以空格分隔的列表和字符串的引号
    • 可替换的命名空间
  • Java的
    • 静态初始化剂
  • JavaScript的
    • 职能是一等公民
    • 阻止范围和关闭
    • 通过变量间接调用方法和访问器
  • 红宝石
    • 通过代码定义方法
  • PHP
    • 普遍的在线文档
    • 魔术方法
    • 符号引用
  • 蟒蛇
    • 一行值交换
    • 能够使用您自己的功能替换核心功能

其他隐藏的功能:

运营商:

引用结构:

语法和名称:

模块,Pragma和命令行选项:

变量:

perl hidden-features

143
推荐指数
39
解决办法
6万
查看次数

WPF和XAML的隐藏功能?

以下是针对各种语言讨论的大量隐藏功能.现在我好奇XAML和WPF的一些隐藏功能?

我发现的是ListView的标题点击事件

<ListView x:Name='lv' 
      Height="150" 
      GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler">
Run Code Online (Sandbox Code Playgroud)

未列出GridViewColumnHeader.Click属性.

到目前为止的一些相关功能:

也可以看看:

  1. C#的隐藏功能
  2. Python的隐藏功能
  3. ASP.NET的隐藏功能
  4. Perl的隐藏功能
  5. Java的隐藏功能
  6. VB.NET的隐藏功能
  7. PHP的隐藏功能
  8. Ruby的隐藏功能
  9. C的隐藏功能
  10. 等等........

wpf xaml hidden-features

123
推荐指数
20
解决办法
3万
查看次数

HTML的隐藏功能

HTML是使用最广泛的语言(至少作为标记语言)尚未获得应有的信誉.
考虑到它已经存在了这么多年,诸如FORM/INPUT控件之类的东西仍然保持不变,没有添加新的控件.

至少从现有功能来看,您是否知道任何不为人所熟知但非常有用的功能.

当然,这个问题是这样的:

JavaScript的
隐藏功能隐藏的CSS
功能隐藏C#的
功能隐藏的VB.NET
功能隐藏的Java
隐藏功能隐藏的功能经典ASP
隐藏的ASP.NET
功能隐藏的Python
功能隐藏的TextPad
功能隐藏的Eclipse功能

不要提及HTML 5.0的功能,因为它在工作草案中

请为每个答案指定一个功能.

html xhtml language-features hidden-features

110
推荐指数
32
解决办法
4万
查看次数

Groovy的隐藏功能?

看起来Groovy在这个帖子中被遗忘了所以我只会问Groovy同样的问题.

  • 尝试限制Groovy核心的答案
  • 每个答案一个功能
  • 举一个示例和该功能的简短描述,而不仅仅是文档的链接
  • 使用粗体标题作为第一行标记要素

也可以看看:

  1. Python的隐藏功能
  2. Ruby的隐藏功能
  3. Perl的隐藏功能
  4. Java的隐藏功能

groovy

78
推荐指数
21
解决办法
9992
查看次数