本文整理汇总了C#中NodeCollection.AddRange方法的典型用法代码示例。如果您正苦于以下问题:C# NodeCollection.AddRange方法的具体用法?C# NodeCollection.AddRange怎么用?C# NodeCollection.AddRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeCollection
的用法示例。
在下文中一共展示了NodeCollection.AddRange方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(string[] args)
{
var file = new FileInfo("data.bin");
int nodeSize = 0;
var collection = new NodeCollection(LoadNodes(file));
if (Log(args, collection)) { return; }
if (args.Length == 0 || !Int32.TryParse(args[0], out nodeSize))
{
nodeSize = 50000;
}
Console.Clear();
Console.WriteLine("Node size: {0:#,##0.0}k", nodeSize / 1000.0);
var simulator = new Simulator();
var rnd = new MT19937Generator();
Merge(collection);
var sw = Stopwatch.StartNew();
long runs = 0;
var shrinks = 0;
while (true)
{
runs++;
ClearNewStatus(collection);
simulator.Simulate(collection, rnd);
Write(collection, sw, runs, shrinks);
if ((runs & 15) == 15)
{
collection.Save(file);
Merge(collection);
}
if (collection.Count > nodeSize)
{
var nodes = collection.ToList();
nodes.Shrink();
collection.Clear();
collection.AddRange(nodes);
collection.Save(file);
shrinks++;
Write(collection, sw, runs, shrinks, true);
}
}
}
示例2: Merge
private static void Merge(NodeCollection nodes)
{
var dir = new DirectoryInfo(".");
foreach (var file in dir.GetFiles("*.bin"))
{
if (file.Name != "data.bin")
{
Console.WriteLine();
nodes.AddRange(Nodes.Load(file));
Console.WriteLine("Merged {0}", file);
file.Delete();
}
}
}