`

c# 将对象属性转换为Dictionary字典

    博客分类:
  • c#
阅读更多
代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace Force.Util
{
    /// <summary>
    /// Convert the class properties to key-value map
    /// </summary>
    class Class2Map
    {

        /// <summary>
        /// 
        /// 将对象属性转换为key-value对
        /// </summary>
        /// <param name="o"></param>
        /// <returns></returns>
        public static Dictionary<String, Object> ToMap(Object o)
        {
            Dictionary<String, Object> map = new Dictionary<string,object>();

            Type t = o.GetType();

            PropertyInfo[] pi = t.GetProperties(BindingFlags.Public | BindingFlags.Instance);

            foreach(PropertyInfo p in pi){
                MethodInfo mi = p.GetGetMethod();

                if (mi!=null && mi.IsPublic)
                {
                   map.Add(p.Name,mi.Invoke(o, new Object[] { }));
                }
            }

            return map;

        }


    }
}
分享到:
评论

相关推荐

    C#实现实体类与字符串互相转换的方法

    在C#编程中,有时我们需要将实体类(Entity Class)的数据转换为字符串格式,以便于存储、传输或日志记录等操作,同时也有时需要将这些字符串数据还原回原来的实体类对象。本篇文章将详细介绍如何使用C#实现实体类与...

    C#针对xml文件转化Dictionary的方法

    在C#编程中,处理XML文件是常见的任务之一,尤其当需要将XML数据转换为更易于操作的数据结构,如Dictionary时。在这个例子中,我们看到一个C#方法用于将XML文件中的特定节点转换成Dictionary对象,这对于管理和检索...

    字典 自动排序 c#

    这段代码首先将字典转换为`List, int&gt;&gt;`,然后按照键进行排序,最后再次转换回字典。 4. **示例代码:按值排序** ```csharp var sortedByValue = dictionary.OrderByDescending(kvp =&gt; kvp.Value) ....

    C#实现json格式转换成对象并更换key的方法

    在这个示例中,我们首先使用`JavaScriptSerializer`将JSON字符串转换为`Dictionary, object&gt;`,然后遍历这个字典,对每个键执行转换操作,并将转换后的键和对应的值放入新的字典`resultDict`中。`ConvertKey`方法...

    C#中Dictionary的用法及用途

    假设有一个需求,需要将一批包含公司名称的数据转换为数据库中的公司ID。为了避免每次查询数据库的开销,可以在业务层预先读取所有公司名称及其对应的ID,并将这些数据存储在一个字典中。这样,在处理数据时,只需要...

    Dictionary排序

    - 可以通过将`Dictionary`转换为`List, TValue&gt;&gt;`,然后使用`List&lt;T&gt;.Sort()`方法,提供一个比较器来比较键。这个比较器可以是`IComparer&lt;TKey&gt;`接口的实现,或者是自定义的lambda表达式。 - 另一种方法是使用LINQ...

    Dictionary字典详解

    Dictionary字典详解 Dictionary是C#中的一种数据结构,允许按照某个键来访问元素。它也称之为映射或散列表。在结构上,Dictionary和有序列表非常相似,只不过Dictionary没有排序功能。Dictionary中的数据也是键-值...

    Lua Table转C# Dictionary的方法示例

    对于嵌套的Table,博主的代码将能够处理并将其转换为C# Dictionary中的嵌套字典结构。例如,对于Lua Table中的一个嵌套结构s010GameConfig,它会被转换为Dictionary中的一个嵌套字典。 总结来说,文件中介绍的Lua ...

    字典c#小应用

    我们将从C#编程基础、字典数据结构、字符串处理、类与对象以及API调用等方面进行详细的阐述。 首先,C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows桌面应用、游戏开发以及Web服务等。它的语法...

    c#字典的应用,泛型的利用

    在C#编程语言中,字典(Dictionary, TValue&gt;)是.NET框架提供的一种非常重要的数据结构,它属于集合类型,主要用于存储键值对。字典的高效性能来源于它的内部实现,通常基于哈希表,这使得查找、插入和删除操作的...

    c#,JSON解析,字典Demo

    总结,C#中的JSON解析主要依赖于Json.NET库,通过`JsonConvert.DeserializeObject`方法可以方便地将JSON字符串转换为C#对象,包括字典类型。通过理解JSON的结构和C#的类型系统,可以高效地处理网络数据交换。在实际...

    C#读取Dictionary

    最后一种方法涉及到将`Dictionary`的键转换为一个列表,然后遍历这个列表来访问对应的值。尽管这种方法较为复杂,但它提供了额外的灵活性,如对键进行排序或过滤: ```csharp List&lt;int&gt; test = new List(list.Keys)...

    dotnet C# 字典 Dictionary 和 Hashtable 的性能对比.rar

    本篇文章将深入探讨`Dictionary`和`Hashtable`的区别以及在C#开发中的应用。 首先,`Dictionary, TValue&gt;`是C#标准库中的一个泛型类,自.NET Framework 2.0起引入。它的主要优点在于类型安全性,因为键和值都是强...

    3Web_dictionary.rar_dictionary_字典

    本项目"3Web_dictionary.rar_dictionary_字典"是一个C#实现的在线Web字典,它具有自动加载字典功能,并且对比了哈希和顺序两种查询算法的时间效率。以下是关于这个项目的详细知识点: 1. **C#编程语言**:C#是微软...

    C# - 阿拉伯数字金额转换为繁体数字金额

    这个特定的项目“C# - 阿拉伯数字金额转换为繁体数字金额”专注于一个常见的财务处理任务,即把通常用阿拉伯数字表示的货币金额转化为繁体中文的表示方式。这在中文环境中特别有用,因为繁体数字在正式的商业文档和...

    将数字转换为大写(C#)

    在编程领域,尤其是在C#语言中,有时我们需要将阿拉伯数字(即我们日常使用的1, 2, 3等)转换为其对应的中文大写形式。这通常在财务或会计软件中非常常见,因为中国传统的财务记录习惯使用中文大写数字来避免欺诈...

    C#封装和解析json

    3. **反序列化(将JSON转换为对象)**: 反序列化是将JSON字符串转换回C#对象的过程。使用`JsonConvert.DeserializeObject()`方法,其中T是目标类型: ```csharp var personObj = JsonConvert.DeserializeObject...

    C#中Dictionary的用法及用途实例

    比如,在上面的内容中提到的情况,如果你需要将公司名称转换为ID并存储在数据库中,使用Dictionary可以避免重复查询数据库,从而提高性能。我们可以在业务层中预先从数据库加载所有公司名称与ID的映射关系,然后将...

Global site tag (gtag.js) - Google Analytics