c# - 将 List<T> 转换为 HashTable

标签 c# linq c#-4.0 hashtable extension-methods

我有一个列表:

public class tmp
{
    public int Id;
    public string Name;
    public string LName;
    public decimal Index;
}

List<tmp> lst = GetSomeData();

我想将此列表转换为哈希表,并且我想在扩展方法参数中指定KeyValue。例如,我可能想要 Key=IdValue=IndexKey = Id + IndexValue = Name + LName。我怎样才能做到这一点?

最佳答案

您可以使用 ToDictionary 方法:

var dic1 = list.ToDictionary(item => item.Id, 
                             item => item.Name);

var dic2 = list.ToDictionary(item => item.Id + item.Index, 
                             item => item.Name + item.LName);

您不需要使用来自 .NET 1.1 的 HashtableDictionary 更安全。

关于c# - 将 List<T> 转换为 HashTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14496532/

相关文章:

c# - Linq 查询的复杂性限制

c# - 如何使用一组笛卡尔坐标重复运行 .NET 单元测试

c# - LINQ + 加入嵌套的 foreach Razor 输出,从 groupby 写出标题行

c# - 如何使用通用搜索获取实体列表

c# - 如何删除在使用属性/字段将自身显示为字符串方面有所不同的重复代码?

c# - 将字符串拆分为具有特定数量元素的数组,c#

c# - 代码中 "+= ( s, e )"是什么意思?

c# - 比较两个大型通用列表

c# - 检查是否安装了VLC

c# - Xamarin.Forms 动态布局取决于屏幕方向或大小