Attributes in .NET is something completely different: please read on attributes to understand it: http://msdn.microsoft.com/en-us/library/z0w1kczw%28v=vs.110%29.aspx
What you call "attributes" are more like the UML meaning of this word (do you know UML?). In .NET, the attributes in UML sense are implemented as non-private properties (and using fields is considered bad style; the fields should be used only inside class or to back properties).
In case of relationships between class instances you mean, like composition/aggregation, etc (managed systems highly blur the difference, you use the references to different instances as the properties of your classes. You need to understand reference types
very clearly, in particular, you need to understand this: you will have several references (from different class instances) to the same reference-type object.