问题标签 [generics]

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.

0 投票
3 回答
26590 浏览

java - 为什么我不能将类型参数显式传递给泛型 Java 方法?

我已经定义了一个 Java 函数:

一种调用方式如下:

为什么我不能通过显式传递泛型类型参数来调用它?:

Illegal start of expression从编译器得到错误。

0 投票
6 回答
95201 浏览

c# - 测试泛型类型是否为字符串的最佳方法?(C#)

我有一个泛型类,它应该允许任何类型,原始类型或其他类型。唯一的问题是使用default(T). 当您对值类型或字符串调用 default 时,它会将其初始化为合理的值(例如空字符串)。当你调用default(T)一个对象时,它返回 null。由于各种原因,我们需要确保如果它不是原始类型,那么我们将拥有该类型的默认实例,而不是null。这是尝试1:

问题 - 字符串不是值类型,但它没有无参数构造函数。所以,目前的解决方案是:

但这感觉就像一个杂牌。有没有更好的方法来处理字符串大小写?

0 投票
13 回答
56080 浏览

c# - C# 和 Java 中的泛型...和 ​​C++ 中的模板有什么区别?

我主要使用 Java,泛型相对较新。我一直在读到 Java 做出了错误的决定,或者 .NET 有更好的实现等等。

那么,C++、C#、Java 在泛型中的主要区别是什么?每个的优点/缺点?

0 投票
5 回答
54338 浏览

c# - 如何转换 IEnumerable列出在 C# 中?

我正在使用 LINQ 查询通用字典,然后将结果用作我的 ListView (WebForms) 的数据源。

简化代码:

我认为这会起作用,但实际上它会引发System.InvalidOperationException

id 为“myListView”的 ListView 必须具有实现 ICollection 或在 AllowPaging 为 true 时可以执行数据源分页的数据源。

为了让它工作,我不得不求助于以下方法:

第一个示例中是否有一个小问题可以使它起作用?

(不知道该用什么作为这个问题的标题,请随时编辑为更合适的内容)

0 投票
24 回答
134106 浏览

c# - 是否存在将我的泛型方法限制为数字类型的约束?

谁能告诉我泛型是否有办法将泛型类型参数限制为T

  • Int16
  • Int32
  • Int64
  • UInt16
  • UInt32
  • UInt64

我知道where关键字,但找不到仅适用于这些类型的接口,

就像是:

0 投票
10 回答
1519 浏览

.net - .Net 2.0 - 通用列表的效率如何?

我正在创建一个在内存中保存大量用户数据负载的应用程序,并且它主要将其全部保存在 List<T> 结构中(以及一些 Dictionary<T,T> 当我需要查找时)。

我想知道...

列表的效率如何?我为每个人获得多少内存开销?(也就是说,除了它们包含的对象之外的内存空间)每次实例化一个新对象时我要支付多少罚款?

有没有更有效的方法?

字典只是哈希表,对吗?还是它们是一种效率较低的数据结构?

我想使用数组,但我有一个典型的问题是总是从它们中添加和删除东西,所以不得不增长/缩小它们会很痛苦。

有什么想法/建议吗?


编辑:我知道我的基本数据结构 101,以及为什么链接列表更适合添加/删除,而哈希表更适合随机访问。

我最关心的是.Net 的特质。例如,每个结构浪费了多少内存。并且浪费时间初始化/杀死它们。

例如,如果实例化/GC 一个 List 需要很多时间,但清除它的时间不多,也许我应该保留一小部分 List 等待我,然后清除它们并将它们发送回池中完成后,而不是简单地取消引用它们。

或者,如果 Hashtables 访问速度更快但浪费大量内存,我可能更喜欢使用 Lists 并遍历它们,用于小项目计数。

而且我真的很想关注内存使用情况,因为我的应用程序非常耗费内存(想想 memcached 之类的)......有谁知道我在哪里可以找到这样的信息?

0 投票
13 回答
104639 浏览

java - C++ 和 Java 中的“通用”类型有什么区别?

Java 有泛型,C++ 提供了一个非常强大的编程模型template。那么,C++ 和 Java 泛型有什么区别呢?

0 投票
5 回答
2419 浏览

java - Java中的泛型

是否有任何简写方式来定义和使用通用定义,而不必不断重复特定的通用描述,这样如果有更改,我不必更改所有定义/用法,例如代码库可能是这样的:

0 投票
5 回答
6393 浏览

c# - 要求通用方法在 FAIL 上抛出特定的异常类型

是的,我知道我完全会用这个看起来像个白痴,但今天早上我的大脑并没有开始运转。

我想有一种方法,我可以说“如果它变坏了,就带着这种类型的异常回来”,对吧?

例如,类似(这不起作用):

现在让我感到困惑的是,由于where子句,我们知道泛型类型将是异常类型。但是,代码失败了,因为我们不能将Exception隐式转换为ExType。我们也不能显式转换它,例如:

因为那也失败了..那么这种事情可能吗?我有一种强烈的感觉,它会变得非常简单,但是我和老头子度过了艰难的一天,所以让我放松一下:P


更新

谢谢大家的回答,看来我不是一个完全的白痴!;)

好的,所以VegardSam让我可以实例化正确的类型,但显然卡住了,因为消息参数在实例化后是只读的。

马特的反应一针见血,我已经对此进行了测试,一切正常。这是示例代码:

甜的!:)

多谢你们!

0 投票
8 回答
88284 浏览

c# - 演员表列出在 .NET 2.0 中

你能以某种方式投一个List<int>到吗?List<string>

我知道我可以遍历和 .ToString() 的东西,但演员会很棒。

我在 C# 2.0 中(所以没有LINQ)。