问题标签 [stringdictionary]

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

generics - 字符串字典与字典

有谁知道 System.Collections.Specialized.StringDictionary 对象和 System.Collections.Generic.Dictionary 之间的实际区别是什么?

我过去都使用过它们,并没有过多考虑哪个性能更好,与 Linq 一起工作更好,或者提供任何其他好处。

关于为什么我应该使用一个而不是另一个的任何想法或建议?

0 投票
4 回答
814 浏览

c# - StringDictionary 作为一个普通的静态列表?

我想做的是有一个项目级的静态字典,这样我就可以从我的代码中的任何地方访问一个列表。

到目前为止,我想出了这个解决方案,一个带有公共属性的公共静态类:

我以这种方式使用(我用它来替换gridview中单元格的内容):

但我不知道这是否是一个有效的解决方案,和/或是否有其他(更好的)方法可以做到这一点......有人可以给出提示吗?

在此先感谢,安德里亚。

0 投票
3 回答
3553 浏览

c# - 如何在 app.config 中存储和检索 StringDictionary?

我有一个字符串字典中的信息列表,我想将其存储在我的程序的 app.config 中。

我已经在程序的“设置”部分中创建了一个名为“扩展”的条目,但是当我使用“Settings.Default.Extentions”时,我收到一个错误,即它为空。

使用它有什么技巧吗?

0 投票
4 回答
1201 浏览

c# - 在 C# .NET 中,是否有没有 StringDictionary 的复制构造函数的原因?

如果这是一个愚蠢的问题,我深表歉意,但请听我说:

在上面的代码示例中,我可以创建一个通用字典的副本。

现在假设我正在使用 System.Collections.Specialized.StringDictionary,因为我不想到处键入“字符串”类型。StringDictionary 没有复制构造函数!实际上,它只有默认构造函数。

当然,我可以遍历 StringDictionary 并手动添加每个键/值对,但我不想:-P

为什么没有复制构造函数?我在这里错过了什么吗?

0 投票
1 回答
383 浏览

c# - 绑定到 Specialized.StringDictionary 的列表框不会更新

我有一个列表框 (listStorageLocations) - 它绑定到一个名为 listStorageLocationsBindingSource 的 BindingSource。此 BindingSource 绑定到我的 Settings.Default.StorageLocations 中的 StringDictionary 项的集合。然后将列表框的数据源设置为绑定源。我一辈子都无法在这个破列表框中显示任何内容(除非我专门添加了测试项目)。

这是一些代码:

表单初始化:

按钮逻辑,添加新的存储位置:

我试过以 78 度角举起我的手臂,跳过 7 个燃烧的箍,然后站在我的头上,但无济于事。我错过了他们的一些愚蠢的细节吗?

哦,我在这里调用 Settings.Default.Save() 只是为了在我的 StringDictionary 中获取一些初始值 - 但当然 - 这也不起作用,因为当我重新启动应用程序时 - 没有项目。

0 投票
2 回答
795 浏览

c# - 如何将 StringCollection 转换为 BindingList

是否可以将StringCollection变量转换为 a BindingList,然后再返回?我正在尝试将 a 绑定StringCollection到 a DataGridView,并且我正在努力使其工作。

我想对 a 做同样的事情StringDictionary

我是否需要创建某种包装类来完成此操作...如 本问题所述。

感谢您提供的任何建议。

0 投票
1 回答
729 浏览

vb.net - VB.NET 属性作为 StringDictionary?

我正在尝试创建一个类型为 StringDictionary 的新属性,但是当我使用该属性(如 stringdictionary 变量)时出现错误。目标是不使用变量,我需要为此使用属性。在幕后,我将 stringdictionary 值保存到全局用户 ID 索引集合中。这是创建属性并尝试获取和设置的代码:

在此代码的 IF 语句中的 ExampleSub "StringDictionary cannot be converted to string" 中出现此错误:

那么如何成功地制作和使用属性作为字符串字典呢?

0 投票
1 回答
1128 浏览

c# - 如何在我的项目设置中初始化 StringDictionary

我在 VS2010 的项目设置中添加了一个 StringDictionary。当我尝试在我的程序中添加成员时,我得到一个NullReferenceException. 当我尝试Value在我的项目设置中初始化其列中的值时,它说我的条目无法转换为 StringDictionary。我确定它正在寻找一些 XML 代码,但没有更好的方法在编译之前初始化 StringDictionary 吗?

附加信息:

  1. 转到菜单 -> 项目 -> [项目名称]> 属性... -> 设置

  2. 添加一个名为mySettingtype的设置System.Collections.Specialized.StringDictionary

  3. 在您的代码中添加一行[ProjectName].Properties.Settings.Default.mySetting.Add("key","value");

  4. 运行并获取异常。

0 投票
2 回答
718 浏览

c# - 应用程序设置未保存

我想将 a 保存StringDictionary到应用程序设置中,以便lbc_lastCustomersVisited在应用程序启动时用保存的值填充我的列表框。

这是我的应用程序设置(XML 格式):


在我的表单中,我得到了一个StringDictionary局部变量:


这是我填充StringDictionary局部变量的方法:

StringDictionary成功填写

FormClosing,我保存我的设置:

设置ApplicationSkinName已成功保存,但未成功保存lastVisitedCustomer StringDictionary。因为当我在应用程序启动时加载我的设置时, Settings.Default.LastVisitedCustomernull.


这是我如何加载有关应用程序皮肤的设置(它有效):

StringDictionnary由于NullReferenceException.
所以我在这里加载它:

但此时,Settings.Default.LastVisitedCustomer为空,我不明白为什么。我尝试了一些方法,例如不使用局部变量并直接从中读取/写入,Settings.Default.LastVisitedCustomer但我遇到了同样的问题。

谢谢,

地狱猫。

编辑:添加完整Settings.settings文件(XML 视图)