问题标签 [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.
generics - 字符串字典与字典
有谁知道 System.Collections.Specialized.StringDictionary 对象和 System.Collections.Generic.Dictionary 之间的实际区别是什么?
我过去都使用过它们,并没有过多考虑哪个性能更好,与 Linq 一起工作更好,或者提供任何其他好处。
关于为什么我应该使用一个而不是另一个的任何想法或建议?
c# - StringDictionary 作为一个普通的静态列表?
我想做的是有一个项目级的静态字典,这样我就可以从我的代码中的任何地方访问一个列表。
到目前为止,我想出了这个解决方案,一个带有公共属性的公共静态类:
我以这种方式使用(我用它来替换gridview中单元格的内容):
但我不知道这是否是一个有效的解决方案,和/或是否有其他(更好的)方法可以做到这一点......有人可以给出提示吗?
在此先感谢,安德里亚。
c# - 如何在 app.config 中存储和检索 StringDictionary?
我有一个字符串字典中的信息列表,我想将其存储在我的程序的 app.config 中。
我已经在程序的“设置”部分中创建了一个名为“扩展”的条目,但是当我使用“Settings.Default.Extentions”时,我收到一个错误,即它为空。
使用它有什么技巧吗?
c# - 在 C# .NET 中,是否有没有 StringDictionary 的复制构造函数的原因?
如果这是一个愚蠢的问题,我深表歉意,但请听我说:
在上面的代码示例中,我可以创建一个通用字典的副本。
现在假设我正在使用 System.Collections.Specialized.StringDictionary,因为我不想到处键入“字符串”类型。StringDictionary 没有复制构造函数!实际上,它只有默认构造函数。
当然,我可以遍历 StringDictionary 并手动添加每个键/值对,但我不想:-P
为什么没有复制构造函数?我在这里错过了什么吗?
c# - 绑定到 Specialized.StringDictionary 的列表框不会更新
我有一个列表框 (listStorageLocations) - 它绑定到一个名为 listStorageLocationsBindingSource 的 BindingSource。此 BindingSource 绑定到我的 Settings.Default.StorageLocations 中的 StringDictionary 项的集合。然后将列表框的数据源设置为绑定源。我一辈子都无法在这个破列表框中显示任何内容(除非我专门添加了测试项目)。
这是一些代码:
表单初始化:
按钮逻辑,添加新的存储位置:
我试过以 78 度角举起我的手臂,跳过 7 个燃烧的箍,然后站在我的头上,但无济于事。我错过了他们的一些愚蠢的细节吗?
哦,我在这里调用 Settings.Default.Save() 只是为了在我的 StringDictionary 中获取一些初始值 - 但当然 - 这也不起作用,因为当我重新启动应用程序时 - 没有项目。
c# - 如何将 StringCollection 转换为 BindingList
是否可以将StringCollection
变量转换为 a BindingList
,然后再返回?我正在尝试将 a 绑定StringCollection
到 a DataGridView
,并且我正在努力使其工作。
我想对 a 做同样的事情StringDictionary
。
我是否需要创建某种包装类来完成此操作...如 本问题所述。
感谢您提供的任何建议。
vb.net - VB.NET 属性作为 StringDictionary?
我正在尝试创建一个类型为 StringDictionary 的新属性,但是当我使用该属性(如 stringdictionary 变量)时出现错误。目标是不使用变量,我需要为此使用属性。在幕后,我将 stringdictionary 值保存到全局用户 ID 索引集合中。这是创建属性并尝试获取和设置的代码:
在此代码的 IF 语句中的 ExampleSub "StringDictionary cannot be converted to string" 中出现此错误:
那么如何成功地制作和使用属性作为字符串字典呢?
c# - 如何在我的项目设置中初始化 StringDictionary
我在 VS2010 的项目设置中添加了一个 StringDictionary。当我尝试在我的程序中添加成员时,我得到一个NullReferenceException
. 当我尝试Value
在我的项目设置中初始化其列中的值时,它说我的条目无法转换为 StringDictionary。我确定它正在寻找一些 XML 代码,但没有更好的方法在编译之前初始化 StringDictionary 吗?
附加信息:
转到菜单 -> 项目 -> [项目名称]> 属性... -> 设置
添加一个名为
mySetting
type的设置System.Collections.Specialized.StringDictionary
在您的代码中添加一行
[ProjectName].Properties.Settings.Default.mySetting.Add("key","value");
运行并获取异常。
c# - 应用程序设置未保存
我想将 a 保存StringDictionary
到应用程序设置中,以便lbc_lastCustomersVisited
在应用程序启动时用保存的值填充我的列表框。
这是我的应用程序设置(XML 格式):
在我的表单中,我得到了一个StringDictionary
局部变量:
这是我填充StringDictionary
局部变量的方法:
(已StringDictionary
成功填写)
在FormClosing
,我保存我的设置:
设置ApplicationSkinName
已成功保存,但未成功保存lastVisitedCustomer StringDictionary
。因为当我在应用程序启动时加载我的设置时, Settings.Default.LastVisitedCustomer
是null
.
这是我如何加载有关应用程序皮肤的设置(它有效):
但StringDictionnary
由于NullReferenceException
.
所以我在这里加载它:
但此时,Settings.Default.LastVisitedCustomer
为空,我不明白为什么。我尝试了一些方法,例如不使用局部变量并直接从中读取/写入,Settings.Default.LastVisitedCustomer
但我遇到了同样的问题。
谢谢,
地狱猫。
编辑:添加完整Settings.settings
文件(XML 视图)