C# .NET 如何创建带有标题的数组,如 DataRow?

标签 c# .net arrays user-interface

我有一堆动态创建的 UI 控件,我想访问特定的控件。

现在,我有一个包含这些控件的数组,但现在我只能使用 myControlArray[i],我想制作一个带有标签的数组,比如 myControlArray["nameText"],就像DataRow

如何创建这样的数组?或者有什么替代方案可以编程吗?

最佳答案

如果您的控件具有不同的名称,则使用 Dictionary<string, Control> :

var dict = new Dictionary<string, Control>();
dict.Add("yourName", youControl);

var control = dict["yourName"];

如果不能保证您的名字是唯一的,那么您可以使用 Dictionary<string, IList<Control>>并在同一个名称下拥有多个控件:

var dict = new Dictionary<string, IList<Control>>();
dict.Add("yourName", new List<Control> {yourControl});

dict["yourName"].Add(anotherControl);

var controls = dict["yourName"];

关于C# .NET 如何创建带有标题的数组,如 DataRow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27450093/

相关文章:

c# - Func<T> 回调会导致内存泄漏吗?

.net - 适用于 Linux 的 ASP.NET 页面设计器

.net - 如何在.NET中确定运行时的SQL Server存储过程参数?

.net - 重新打开 ServiceHost 时出现 WCF "Instance already exists in CounterSet"错误

c - 指向同一堆区域的随机地址的双指针

javascript - Jquery Unobtrusive 验证不适用于 View 模型列表中第一个之后的项目 - c# MVC 4

c# - .NET,如何确定字段是否已为空

ios - 错误 : generic parameter 'T' could not be inferred in swift

c# - 关闭 .Netcore IHostedService 作为控制台应用程序

javascript - 在 JavaScript 中使用 forEach 将数组的所有元素乘以数字