GetViewBetweenメソッドは、引数で指定した範囲に該当する部分のビューを返します。 SortedSetの一部をコピーしたものが返されるわけではないため、元になったSortedSetに変更を加えると、GetViewBetweenメソッドで取得したサブセットにも反映されます。
GetViewBetweenメソッドで部分集合を取得した後に元のSortedSetに変更を加える
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var s = new SortedSet<string>() {"Alice", "Eve", "Charlie", "Bob", "Dave"};
Console.Write("s: ");
Console.WriteLine(string.Join(", ", s));
// 最小で"B"、最大で"E"の範囲に該当する部分集合を取得する
var view = s.GetViewBetween("B", "E");
Console.Write("view: ");
Console.WriteLine(string.Join(", ", view));
// 元の集合に変更を加える
// (上で取得した部分集合にも影響する)
s.Add("Diana");
Console.Write("view: ");
Console.WriteLine(string.Join(", ", view));
}
}
実行結果
s: Alice, Bob, Charlie, Dave, Eve view: Bob, Charlie, Dave view: Bob, Charlie, Dave, Diana