问题标签 [indexer]

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 投票
4 回答
15680 浏览

c# - 如何编写一个可以用 `arr[key]` 索引的类(如数组)?

像我们一样Session.Add("LoginUserId", 123); ,然后我们可以访问Session["LoginUserId"],像一个数组,我们如何实现它?

0 投票
1 回答
14450 浏览

android - Android:如何使用 SectionIndexer

我正在尝试找到一种使用方法SectionIndexer,而不是AlphabetIndexer. 我感兴趣的是在节标题而不是字母表上有字符串数组的元素。我无法使用节索引器找到任何示例代码。

这是一个示例代码AlphabetIndexer

是否可以将 astringArray而不是“ABCDEFGHIJKLMNOPQRSTUVWXYZ”传递给,AlphabetIndexer所以我可以例如代替“A”,“B”,...“Z”,因为标题有“Book”,“Food”,...标题?

如果不是,最好的方法是什么?SectionIndexer对使用而不是的示例代码的任何引用AlphabetIndexer也会有所帮助。

谢谢您的帮助。TJ

0 投票
2 回答
8307 浏览

android - android sectionindexer教程?

如何为带有字符串数组的列表视图创建分类部分索引器?我已经看到了字母索引器的示例,但是它是如何为类别实现的,例如第 1 节、第 2 节、第 3 节……?

0 投票
1 回答
210 浏览

actionscript-3 - 在 Actionscript3 中从 C# 实现索引器

在 C# 中有一些称为索引器的东西,它们的作用与此类似:

然后你可以这样称呼它:

我只是想知道是否可以在使用方括号的 AS3 中实现类似的功能,还是我需要一个函数来执行此操作?

0 投票
6 回答
6667 浏览

c# - C#扩展索引器?

是否可以使用扩展方法来扩展索引器?我希望能够从DataGridViewCell给定的DataGridViewRow使用标题文本中获取单元格的值,如下所示:

我有这个代码

我想要类似的索引器。谢谢。

0 投票
1 回答
64 浏览

.net - 带有索引器问题的 ValidationRule

我们公司正在为我们的框架使用索引器,这样我们就可以快速地将数据绑定到一个窗口,而无需为每个数据源创建一个属性。由于 WPF(与 Silverlight 不同?)要求您使用 OnPropertyChanged("Item[]") 来指示更改,因此所有使用索引器的项目都会在 UI 上刷新。当控件同时使用 ValidationRule 并通过索引器访问数据时,此功能会导致问题。似乎在为索引器属性调用 OnPropertyChanged 时,当控件出现错误时,它将控件上的数据刷新为数据源中的数据。由于无法为具有键值的索引器属性调用 OnPropertyChanged,因此对另一个控件的更改最终会恢复控件中存在错误的内容。

我的问题是:有没有人能够同时使用索引器属性和 ValidationRule,使得有错误的控件在用户修复控件之前保持其错误?

如果没有,有人有什么建议吗?我们喜欢使用 indexer 属性,因为这使得设置绑定比为每个数据字段创建属性要快得多(我们的应用程序以 CRUD 为中心)。

0 投票
1 回答
530 浏览

c# - 在已经具有具有匹配签名的属性索引器的类上实现 IDataErrorInfo

我想要一个具有索引器字符串 this[string propertyName] 的类。这将访问一个可使用类序列化的字典以允许动态属性。此外,我想实现 IDataErrorInfo 以允许对这些属性进行验证。

问题是他们有匹配的签名。对此我能做些什么吗?

0 投票
3 回答
1340 浏览

c# - 枚举重载索引器:无法使用默认索引器

考虑以下代码:

我很惊讶地看到以下结果:

我的第一个期望是,因为我传递了一个int,所以应该使用默认索引器,并且第一次调用应该成功。

相反,似乎enum总是调用期望 an 的重载(即使将 0 转换为 int 时也是如此),并且测试失败。

  1. 有人可以向我解释这种行为吗?
  2. 并给出一个解决方法来维护两个索引器:一个按索引,一个用于枚举?

编辑:一种解决方法似乎是将集合转换为集合,请参阅此答案

所以:

  1. 为什么编译器选择最“复杂”的重载而不是最明显的重载(尽管它是继承的)?索引器是否被视为本机 int 方法?(但没有警告您隐藏父索引器的事实)

解释

使用这段代码,我们面临两个问题:

  1. 0 值始终可以转换为任何枚举。
  2. 运行时总是在挖掘继承之前检查底层类,因此选择了枚举索引器。

有关更精确(和更好的公式化)的答案,请参阅以下链接:

0 投票
0 回答
1379 浏览

android - Android列表视图SectionIndexer - 列表视图不显示当前滚动字母

我正在尝试使用 secionIndexer 在列表视图中快速滚动。我已经实现了,但是在滚动列表时它应该弹出我们滚动的当前字母,但它没有显示出来。

在调试模式下,我知道在我的情况下从未调用 getSectipons() 和 getPositionForSection() ,但在我从 web 尝试的任何其他简单示例中,它确实调用了这些函数。

Pelase 建议我该怎么做 //################## 这是我的适配器的代码

//#######################

我假设在适配器中,当我传递 textViewId 时,它不会使用当前的 textVewId,因为 sectionIndexer 函数永远不会被调用。

在布局new_invest_row我得到自定义行,其中有一个图标和几个 textViews。我根据我在每一行中显示的对象的名称对列表进行排序。我希望索引器处理对象的名称。

请帮我提供确切的解决方案

0 投票
4 回答
213 浏览

c# - 如何编写函数以使用索引运算符获取任何对象

我想我过去曾在 C++ 的上下文中问过这个问题(在我的问题历史中找不到它!!),解决方案是使用模板函数。由于 C++ 模板在编译时解析,它可以工作。但对于 C#,它没有。

目前的一种用法是将 OleDbReader 中的结果转换为哈希表,但我预计很快需要更多源类型。