In .NET environement Reflection provides several methods to obtain information about any type from the type system. One of these methods is GetProperties
method which retrieves a list of all the properties of a given type. This method returns an array of PropertyInfo
PropertyInfo propListInfo = type.GetProperties();
In most cases you don't care, but the order of the properties does not have to be the same if you run this method several times. This is well described in the documentation of this method.
Microsoft also states, that your code should not be depending on the order of the properties obtained.
I had a very nice example of a bug resulting from the misuse of this method. A ObjectComparer