は私は私はこのようなメソッドを作成し方法は同じ型のオブジェクトを返すとき、パラメータオブジェクトも
public Node(HashSet<string> _id, double _weight, List<string> _diff, int _depth, HashSet<string> _prefix, int _support)
{
Id = _id;
Weight = _weight;
Diffset = _diff;
Depth = _depth;
Prefix = _prefix;
Support = _support;
Isleaf = false;
Weightsup = _support*_weight;
}
オブジェクトのノードを作成し
この問題で私を助け、3つのパラメータを渡してください変更され
public Node CreateTailNode(Node _a, Node _b, Double _minsup)
{
Node _child = new Node();
_child.Prefix = _a.Id;
_child.Id = _a.Id.AddRange(_b.Id);
_child.Depth = _a.Depth + 1;
_child.Diffset = _a.Diffset.Except(_b.Diffset).ToList();
_child.Weight = (_a.Weight + _b.Weight)/2;
_child.Support = _a.Support - _child.Diffset.Count;
_child.Weightsup = _child.Support*_child.Weight;
if (_child.Weightsup < _minsup)
{
_child.Isleaf = true;
}
else
{
_child.Isleaf = false;
}
return _child;
}
戻り_child後、私はノード_a.Prefixも変更と同じ_child.Prefix
に来ていることを実感ノード_aのプレフィックスを変更せずに_childを作成する方法
_aおよび_bは参照型です。このメソッドを呼び出した後、これらのオブジェクトの変更が存在します。 「_a.Id.AddRange(_b.Id)」ステートメントを確認します。 –