当前位置: 首页>>代码示例>>C#>>正文


C# NodeCollection.AddRange方法代码示例

本文整理汇总了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);
				}
			}
		}
开发者ID:Corniel,项目名称:AIGames.TexasHoldEm.ACDC,代码行数:52,代码来源:Program.cs

示例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();
				}
			}
		}
开发者ID:Corniel,项目名称:AIGames.TexasHoldEm.ACDC,代码行数:14,代码来源:Program.cs


注:本文中的NodeCollection.AddRange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。