Parent and Child relationships are quite common. There are 4 types of relationships:
1. one-to-one
2. one-to-many
3. many-to-one
4. many-to-many
All are legal. Which one you use is dependant on what you are trying to achieve.
One thing to be careful with is to avoid a circular reference. This can cause many problems. There are some cases where a circular reference is required, however, it is something to avoid as a beginner.
Another note is regarding variable and class names. We're no longer living in the 70s, 80s, or 90s, where every byte matters. Use meaningful names for readability, not Ah, Bh, Ch, Bv, Cv... Also, use property & field names that describe what they are. Instead of:
public Bh[] sunof_bv;
use
public Bh[] Children;
The field describes the relationship and that there could be more than one. If there is only one child, then use:
public Bh Child;
Also, fields should be private and be exposed as a Property. So your code should now be:
private Bh[] children;
public Bh[] Children
{
get => children;
set => children = value;
}
or just:
public Bh[] Children { get; set; }