Пример #1
0
		/// <summary>
		///   移除 SeriesSymbolData 列表
		/// </summary>
		/// <param name="seriesId">SeriesSymbolData id</param>
		internal void Remove(int seriesId) {
			int iIndex = 0;
			lock (__cIndexs) {
				if (__cIndexs.TryGetValue(seriesId, out iIndex)) {
					SeriesSymbolData cTarget = __cSeries[iIndex];
					cTarget.Dispose();

					int iLast = __cSeries.Count - 1;
					if (iLast > 0 && iLast > iIndex) {
						SeriesSymbolData cLast = __cSeries[iLast];

						int iLastSeriesId = cLast.Id;
						__cIndexs[iLastSeriesId] = iIndex;
						__cSeries[iIndex] = cLast;
					}

					__cIndexs.Remove(seriesId);
					__cSeries.RemoveAt(iLast);
				}
			}
		}