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


C# PropertyList.RemoveKeyRange方法代码示例

本文整理汇总了C#中PropertyList.RemoveKeyRange方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyList.RemoveKeyRange方法的具体用法?C# PropertyList.RemoveKeyRange怎么用?C# PropertyList.RemoveKeyRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PropertyList的用法示例。


在下文中一共展示了PropertyList.RemoveKeyRange方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: UpdateMySQL

		private static void UpdateMySQL()
		{
			if (!CMOptions.ModuleEnabled || !CMOptions.MySQLEnabled || !CMOptions.MySQLInfo.IsValid())
			{
				if (_Connection != null)
				{
					_Connection.Dispose();
					_Connection = null;
				}

				return;
			}

			if (_Connection == null || _Connection.IsDisposed)
			{
				_Connection = null;
				return;
			}

			if (!_Connection.Connected)
			{
				_Connection.Dispose();
				_Connection = null;
				return;
			}

			using (_Connection)
			{
				#region Conquests
				CMOptions.ToConsole("Exporting conquests...");

				Conquest[] cList = ConquestRegistry.Values.Where(c => c != null && !c.Deleted).ToArray();

				_Connection.NonQuery(GetCreateQuery("conquests"));
				_Connection.Truncate("conquests");

				int cCount = 0;

				foreach (Conquest c in cList)
				{
					var sData = new MySQLData("id_con", c.UID.Value);

					using (var props = new PropertyList<Conquest>(c))
					{
						props.RemoveKeyRange("UID", "");

						int pc =
							props.Count(
								kv =>
								{
									CMOptions.ToConsole("Prop: {0} = {1}", kv.Key, kv.Value);
									
									return _Connection.Insert("conquests", new[] {sData, new MySQLData("key", kv.Key), new MySQLData("val", kv.Value)});
								});

						if (pc == props.Count)
						{
							++cCount;
						}
					}
				}

				CMOptions.ToConsole("Exported {0:#,0} conquests.", cCount);
				#endregion

				#region Profiles
				CMOptions.ToConsole("Exporting profiles...");

				ConquestProfile[] pList = Profiles.Values.Where(p => p != null && p.Owner != null).ToArray();

				_Connection.NonQuery(GetCreateQuery("profiles"));
				_Connection.Truncate("profiles");

				int pCount =
					pList.Count(
						p =>
						_Connection.Insert(
							"profiles",
							new[]
							{
								new MySQLData("id_owner", p.Owner.Serial.Value), new MySQLData("owner", p.Owner.RawName),
								new MySQLData("points", p.GetPointsTotal()), new MySQLData("credit", p.Credit)
							}));

				CMOptions.ToConsole("Exported {0:#,0} profiles.", pCount);
				#endregion

				#region States
				CMOptions.ToConsole("Exporting states...");

				_Connection.NonQuery(GetCreateQuery("states"));
				_Connection.Truncate("states");

				int sCount = 0;

				foreach (var p in pList)
				{
					foreach (var s in p)
					{
						var sData = new MySQLData("id_state", s.UID.Value);
//.........这里部分代码省略.........
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:101,代码来源:Conquests_MySQL.cs


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