代码如下:
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#编程中,有时我们需要将实体类(Entity Class)的数据转换为字符串格式,以便于存储、传输或日志记录等操作,同时也有时需要将这些字符串数据还原回原来的实体类对象。本篇文章将详细介绍如何使用C#实现实体类与...
在C#编程中,处理XML文件是常见的任务之一,尤其当需要将XML数据转换为更易于操作的数据结构,如Dictionary时。在这个例子中,我们看到一个C#方法用于将XML文件中的特定节点转换成Dictionary对象,这对于管理和检索...
这段代码首先将字典转换为`List, int>>`,然后按照键进行排序,最后再次转换回字典。 4. **示例代码:按值排序** ```csharp var sortedByValue = dictionary.OrderByDescending(kvp => kvp.Value) ....
在这个示例中,我们首先使用`JavaScriptSerializer`将JSON字符串转换为`Dictionary, object>`,然后遍历这个字典,对每个键执行转换操作,并将转换后的键和对应的值放入新的字典`resultDict`中。`ConvertKey`方法...
假设有一个需求,需要将一批包含公司名称的数据转换为数据库中的公司ID。为了避免每次查询数据库的开销,可以在业务层预先读取所有公司名称及其对应的ID,并将这些数据存储在一个字典中。这样,在处理数据时,只需要...
- 可以通过将`Dictionary`转换为`List, TValue>>`,然后使用`List<T>.Sort()`方法,提供一个比较器来比较键。这个比较器可以是`IComparer<TKey>`接口的实现,或者是自定义的lambda表达式。 - 另一种方法是使用LINQ...
Dictionary字典详解 Dictionary是C#中的一种数据结构,允许按照某个键来访问元素。它也称之为映射或散列表。在结构上,Dictionary和有序列表非常相似,只不过Dictionary没有排序功能。Dictionary中的数据也是键-值...
对于嵌套的Table,博主的代码将能够处理并将其转换为C# Dictionary中的嵌套字典结构。例如,对于Lua Table中的一个嵌套结构s010GameConfig,它会被转换为Dictionary中的一个嵌套字典。 总结来说,文件中介绍的Lua ...
我们将从C#编程基础、字典数据结构、字符串处理、类与对象以及API调用等方面进行详细的阐述。 首先,C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows桌面应用、游戏开发以及Web服务等。它的语法...
在C#编程语言中,字典(Dictionary, TValue>)是.NET框架提供的一种非常重要的数据结构,它属于集合类型,主要用于存储键值对。字典的高效性能来源于它的内部实现,通常基于哈希表,这使得查找、插入和删除操作的...
总结,C#中的JSON解析主要依赖于Json.NET库,通过`JsonConvert.DeserializeObject`方法可以方便地将JSON字符串转换为C#对象,包括字典类型。通过理解JSON的结构和C#的类型系统,可以高效地处理网络数据交换。在实际...
最后一种方法涉及到将`Dictionary`的键转换为一个列表,然后遍历这个列表来访问对应的值。尽管这种方法较为复杂,但它提供了额外的灵活性,如对键进行排序或过滤: ```csharp List<int> test = new List(list.Keys)...
本篇文章将深入探讨`Dictionary`和`Hashtable`的区别以及在C#开发中的应用。 首先,`Dictionary, TValue>`是C#标准库中的一个泛型类,自.NET Framework 2.0起引入。它的主要优点在于类型安全性,因为键和值都是强...
本项目"3Web_dictionary.rar_dictionary_字典"是一个C#实现的在线Web字典,它具有自动加载字典功能,并且对比了哈希和顺序两种查询算法的时间效率。以下是关于这个项目的详细知识点: 1. **C#编程语言**:C#是微软...
这个特定的项目“C# - 阿拉伯数字金额转换为繁体数字金额”专注于一个常见的财务处理任务,即把通常用阿拉伯数字表示的货币金额转化为繁体中文的表示方式。这在中文环境中特别有用,因为繁体数字在正式的商业文档和...
在编程领域,尤其是在C#语言中,有时我们需要将阿拉伯数字(即我们日常使用的1, 2, 3等)转换为其对应的中文大写形式。这通常在财务或会计软件中非常常见,因为中国传统的财务记录习惯使用中文大写数字来避免欺诈...
3. **反序列化(将JSON转换为对象)**: 反序列化是将JSON字符串转换回C#对象的过程。使用`JsonConvert.DeserializeObject()`方法,其中T是目标类型: ```csharp var personObj = JsonConvert.DeserializeObject...
比如,在上面的内容中提到的情况,如果你需要将公司名称转换为ID并存储在数据库中,使用Dictionary可以避免重复查询数据库,从而提高性能。我们可以在业务层中预先从数据库加载所有公司名称与ID的映射关系,然后将...