问题标签 [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.
c# - 如何编写一个可以用 `arr[key]` 索引的类(如数组)?
像我们一样Session.Add("LoginUserId", 123);
,然后我们可以访问Session["LoginUserId"]
,像一个数组,我们如何实现它?
android - Android:如何使用 SectionIndexer
我正在尝试找到一种使用方法SectionIndexer
,而不是AlphabetIndexer
. 我感兴趣的是在节标题而不是字母表上有字符串数组的元素。我无法使用节索引器找到任何示例代码。
这是一个示例代码AlphabetIndexer
:
是否可以将 astringArray
而不是“ABCDEFGHIJKLMNOPQRSTUVWXYZ”传递给,AlphabetIndexer
所以我可以例如代替“A”,“B”,...“Z”,因为标题有“Book”,“Food”,...标题?
如果不是,最好的方法是什么?SectionIndexer
对使用而不是的示例代码的任何引用AlphabetIndexer
也会有所帮助。
谢谢您的帮助。TJ
android - android sectionindexer教程?
如何为带有字符串数组的列表视图创建分类部分索引器?我已经看到了字母索引器的示例,但是它是如何为类别实现的,例如第 1 节、第 2 节、第 3 节……?
actionscript-3 - 在 Actionscript3 中从 C# 实现索引器
在 C# 中有一些称为索引器的东西,它们的作用与此类似:
然后你可以这样称呼它:
我只是想知道是否可以在使用方括号的 AS3 中实现类似的功能,还是我需要一个函数来执行此操作?
c# - C#扩展索引器?
是否可以使用扩展方法来扩展索引器?我希望能够从DataGridViewCell
给定的DataGridViewRow
使用标题文本中获取单元格的值,如下所示:
我有这个代码
我想要类似的索引器。谢谢。
.net - 带有索引器问题的 ValidationRule
我们公司正在为我们的框架使用索引器,这样我们就可以快速地将数据绑定到一个窗口,而无需为每个数据源创建一个属性。由于 WPF(与 Silverlight 不同?)要求您使用 OnPropertyChanged("Item[]") 来指示更改,因此所有使用索引器的项目都会在 UI 上刷新。当控件同时使用 ValidationRule 并通过索引器访问数据时,此功能会导致问题。似乎在为索引器属性调用 OnPropertyChanged 时,当控件出现错误时,它将控件上的数据刷新为数据源中的数据。由于无法为具有键值的索引器属性调用 OnPropertyChanged,因此对另一个控件的更改最终会恢复控件中存在错误的内容。
我的问题是:有没有人能够同时使用索引器属性和 ValidationRule,使得有错误的控件在用户修复控件之前保持其错误?
如果没有,有人有什么建议吗?我们喜欢使用 indexer 属性,因为这使得设置绑定比为每个数据字段创建属性要快得多(我们的应用程序以 CRUD 为中心)。
c# - 在已经具有具有匹配签名的属性索引器的类上实现 IDataErrorInfo
我想要一个具有索引器字符串 this[string propertyName] 的类。这将访问一个可使用类序列化的字典以允许动态属性。此外,我想实现 IDataErrorInfo 以允许对这些属性进行验证。
问题是他们有匹配的签名。对此我能做些什么吗?
c# - 枚举重载索引器:无法使用默认索引器
考虑以下代码:
我很惊讶地看到以下结果:
我的第一个期望是,因为我传递了一个int
,所以应该使用默认索引器,并且第一次调用应该成功。
相反,似乎enum
总是调用期望 an 的重载(即使将 0 转换为 int 时也是如此),并且测试失败。
- 有人可以向我解释这种行为吗?
- 并给出一个解决方法来维护两个索引器:一个按索引,一个用于枚举?
编辑:一种解决方法似乎是将集合转换为集合,请参阅此答案。
所以:
- 为什么编译器选择最“复杂”的重载而不是最明显的重载(尽管它是继承的)?索引器是否被视为本机 int 方法?(但没有警告您隐藏父索引器的事实)
解释
使用这段代码,我们面临两个问题:
- 0 值始终可以转换为任何枚举。
- 运行时总是在挖掘继承之前检查底层类,因此选择了枚举索引器。
有关更精确(和更好的公式化)的答案,请参阅以下链接:
android - Android列表视图SectionIndexer - 列表视图不显示当前滚动字母
我正在尝试使用 secionIndexer 在列表视图中快速滚动。我已经实现了,但是在滚动列表时它应该弹出我们滚动的当前字母,但它没有显示出来。
在调试模式下,我知道在我的情况下从未调用 getSectipons() 和 getPositionForSection() ,但在我从 web 尝试的任何其他简单示例中,它确实调用了这些函数。
Pelase 建议我该怎么做 //################## 这是我的适配器的代码
//#######################
我假设在适配器中,当我传递 textViewId 时,它不会使用当前的 textVewId,因为 sectionIndexer 函数永远不会被调用。
在布局new_invest_row我得到自定义行,其中有一个图标和几个 textViews。我根据我在每一行中显示的对象的名称对列表进行排序。我希望索引器处理对象的名称。
请帮我提供确切的解决方案
c# - 如何编写函数以使用索引运算符获取任何对象
我想我过去曾在 C++ 的上下文中问过这个问题(在我的问题历史中找不到它!!),解决方案是使用模板函数。由于 C++ 模板在编译时解析,它可以工作。但对于 C#,它没有。
目前的一种用法是将 OleDbReader 中的结果转换为哈希表,但我预计很快需要更多源类型。