language-features相关内容

为什么 Java 允许在源代码中使用转义的 unicode 字符?

我最近了解到 Java 源代码中允许使用 Unicode,这不仅是因为Unicode 字符(例如 double π = Math.PI; )以及转义序列(例如 double \u03C0 = Math.PI; ). 第一个变体对我来说很有意义 - 它允许程序员用他们选择的国际语言命名变量和方法.但是,我没有看到第二种方法的任何实际应用. 这里有几段代码来说明用法,在 Java SE 6 ..
发布时间:2021-12-26 13:54:17 Java开发

C#中的双重调度?

我听说过/读过这个词,但不太明白它的意思. 我应该什么时候使用这种技术以及我将如何使用它?谁能提供一个好的代码示例? 解决方案 访问者模式是一种以面向对象的方式进行双重调度的方式. 当您想在运行时而不是编译时根据给定参数的类型选择用于给定参数的方法时,它很有用. 双分派是多分派的特例. 当您在对象上调用虚拟方法时,这被视为单分派,因为调用的实际方法取决于单个对象的类 ..
发布时间:2021-12-22 08:40:39 C#/.NET

“通用"和“通用"之间有什么区别?C++ 和 Java 中的类型?

Java 具有泛型,而 C++ 提供了一个非常强大的带有 template 的编程模型.那么,C++ 和 Java 泛型有什么区别? 解决方案 它们之间有很大的不同.在 C++ 中,您不必为泛型类型指定类或接口.这就是您可以创建真正通用的函数和类的原因,但需要注意的是更宽松的类型. template T sum(T a, T b) { return a + b;} 上面的方法添加了两个 ..
发布时间:2021-12-13 18:31:30 Java开发

为什么私有字段是类型私有的,而不是实例私有的?

在 C#(和许多其他语言)中,访问相同类型的其他实例的私有字段是完全合法的.例如: 公共类Foo{私人布尔 aBool;public void DoBar(Foo anotherFoo){如果 (anotherFoo.aBool) ...}} 作为 C# 规范(第 3.5.1、3.5.2 节)声明对私有字段的访问是基于类型,而不是实例.我一直在与一位同事讨论这个问题,我们正试图找出它为什么会这 ..
发布时间:2021-12-11 23:57:26 C#/.NET

为什么 C# 不允许静态方法实现接口?

为什么 C# 是这样设计的? 据我所知,接口仅描述行为,并且用于描述实现特定行为的接口的类的契约义务. 如果类希望在共享方法中实现该行为,为什么不呢? 这是我想到的一个例子: //这些项目将显示在屏幕上的列表中.公共接口 IListItem {字符串屏幕名称();...}公共类动物:IListItem {//所有动物都将被称为“动物".公共静态字符串 ScreenName() ..
发布时间:2021-12-11 23:37:54 C#/.NET

Perl 中的散列和散列引用有什么区别?

我想正确理解 Perl 中的哈希值.我不得不断断续续地使用 Perl 很长一段时间,而且主要是每当我需要使用它时,它主要与文本处理有关. 而且每次我都必须处理散列,它会变得一团糟.我发现哈希的语法非常神秘 对散列和散列引用、它们的差异、何时需要等的良好解释将不胜感激. 解决方案 一个简单的散列接近于一个数组.它们的初始化甚至看起来很相似.首先是数组: @last_name = ..
发布时间:2021-12-10 17:57:29 其他开发

DateTime.Now 与 DateTime.UtcNow

我一直想知道这两个属性的工作原理究竟是什么.我知道第二个是通用的,基本上不涉及时区,但有人可以详细解释它们是如何工作的,哪个应该在什么场景下使用? 解决方案 DateTime.UtcNow 告诉您协调世界时的日期和时间,也称为格林威治标准时区 - 基本上就像您在英国伦敦时一样,但不是在夏天.DateTime.Now 给出日期和时间在您当前的语言环境中显示给某人. 我建议在您向他人显示 ..
发布时间:2021-12-10 09:50:57 C#/.NET

如何在 R 中正确使用列表?

简要背景:许多(大多数?)当代广泛使用的编程语言至少有少数共同的 ADT [抽象数据类型],特别是 string(由字符组成的序列) list(值的有序集合)和 基于映射的类型(将键映射到值的无序数组) 在R编程语言中,前两者分别实现为character和vector. 当我开始学习 R 时,有两件事几乎从一开始就很明显:list 是 R 中最重要的数据类型(因为它是 ..

VB.NET 等效于 C# 属性速记?

是否有与 C# 等效的 VB.NET: public string FirstName { get;放;} 我知道你可以做到 公共属性名称() As String得到返回 _name.ToString结束获取Set(ByVal value As String)_名称 = 值结束集最终财产 但我似乎无法在 Visual Basic 速记中找到答案. 解决方案 Visual Studi ..
发布时间:2021-12-06 10:34:09 C#/.NET

Ruby 中的方法:对象与否?

受到这个讨论的启发,经过一些谷歌搜索后,我是'无法找到有关 Ruby 方法的一个非常简单的问题的答案:方法是不是对象? 有不同的意见这里 和 那里,我真的很想听听深入的解释. 我知道 Object#method 方法,它接受一个方法名称并返回一个 Method 实例,但是,另一方面,你也有类似的东西可以用块来使它们成为 Proc 实例,而块不是对象,那么是什么让方法有什么不同呢? ..
发布时间:2021-12-03 09:59:12 其他开发

如何遍历 C# 中的所有枚举值?

这个问题已经有了答案: 如何在 C# 中枚举枚举? 26 个回答 公共枚举Foos{一种,乙,C} 有没有办法循环遍历 Foos 的可能值? 基本上? foreach(Foo 中的 Foo) 解决方案 是的,您可以使用 ‍GetValue‍‍s 方法: var values = Enum.GetValues(typeof(Foos)); 或打字版本: var values ..
发布时间:2021-12-02 13:55:45 C#/.NET

“这个"是怎么来的关键字在函数内工作?

我刚刚在 JavaScript 中遇到了一个有趣的情况.我有一个带有方法的类,该类使用对象字面量表示法定义了多个对象.在这些对象中,使用了 this 指针.从程序的行为中,我推断 this 指针指的是调用方法的类,而不是由文字创建的对象. 这似乎是随意的,尽管这是我期望的工作方式.这是定义的行为吗?跨浏览器安全吗?是否有任何理由解释为什么它是超出“规范所说"的方式(例如,它是否是某些更广泛的 ..
发布时间:2021-11-30 22:56:01 前端开发

Objective-C:如何防止抽象泄漏

我认为在 Objective-C 中,我必须将实例变量声明为我的类的接口的一部分,即使这些变量是实现细节并具有私有访问权限. 在“主观"C 中,我可以在我的 .c 文件中声明一个变量,并且它在该编译单元之外不可见.我可以在相应的.h文件中声明它,然后任何在该编译单元中链接的人都可以看到该变量. 我想知道在 Objective-C 中是否有等效的选择,或者我是否确实必须在 .h 中为我的 ..
发布时间:2021-11-26 17:32:08 移动开发

'static' 关键字在类中有什么作用?

具体来说,我正在尝试这段代码: 包你好;公共课你好{时钟时钟=新时钟();公共静态无效主(字符串参数[]){时钟.sayTime();}} 但它给出了错误 无法访问静态方法 main 中的非静态字段 所以我把clock的声明改成这样: static Clock clock = new Clock(); 它奏效了.将该关键字放在声明之前是什么意思?就可以对该对象执行的操作而言,它 ..
发布时间:2021-11-25 10:14:11 Java开发

'static' 关键字在类中有什么作用?

具体来说,我正在尝试这段代码: 包你好;公共课你好{时钟时钟=新时钟();公共静态无效主(字符串参数[]){时钟.sayTime();}} 但它给出了错误 无法访问静态方法 main 中的非静态字段 所以我把clock的声明改成这样: static Clock clock = new Clock(); 它奏效了.将该关键字放在声明之前是什么意思?就可以对该对象执行的操作而言,它 ..
发布时间:2021-11-22 14:52:25 Java开发