对象的属性排序

时间:2016-02-18 20:41:07

标签: c# linq reflection

private string DoStuff(object result, StringBuilder returnBuilder)
{
    // get a list of all public properties and order by name 
    // so we can guarentee that the order of the headers and 
    // the results are the same
    foreach (var prop in result.GetType().GetProperties().OrderBy(x => x.Name))
    {
        //    do something cool
    }
}

我的问题是,如果没有for循环中的OrderBy,我保证List的本机顺序将是在对象中声明属性的顺序

1 个答案:

答案 0 :(得分:5)

来自MSDN

  

GetProperties方法不返回特定属性   订单,例如字母或声明订单。你的代码一定不能   取决于返回属性的顺序,因为那样   订单各不相同。