c# - 从列表<Control>获取字典<string,string>

标签 c# .net linq c#-3.0 dictionary

我想要一个包含所有控件的名称和文本的字典。是否可以使用预定义的框架方法/LINQ/集合初始值设定项,还是我必须自己创建一个循环并添加所有条目?

这给了我一条错误消息:

List<Control> controls;
// .. initialize list ..
controls.ToDictionary((Control child,string k)=>new KeyValuePair<string,string>(child.Name, child.Text));

最佳答案

调用应该是这样的:

controls.ToDictionary(
    c => c.Name,       // Key selector
    c => c.Text);      // Element selector.

关于c# - 从列表<Control>获取字典<string,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628977/

相关文章:

c# - ASP.NET C# 如何从 header 中获取用户语言?

c# - Windows 7 的登录屏幕更换

.net - System.Diagnostics.Trace.WriteLine 的结果在哪里?

.net - LRU 文件缓存和在 Windows 目录中查找文件的成本

c# - 如何合并返回匿名类型的 lambda 的 LINQ 查询?

c# - 为什么 IEnumerable<T>.ToList<T>() 返回 List<T> 而不是 IList<T>?

c# - 从查找表中获取特定值?

c# - MVC5 EF 实体显然在保存,但在检索时为空

c# - MS BotFramework 数据保存,BotState

c# - Linq 查询填充接收错误的嵌套类中的列表