private DcColumn RemoveAt(int index) { if (Size == 0) { return(null); // Nothing to remove } if (index < 0 || index >= Segments.Count) { return(null); // Bad index } DcColumn result = Segments[index]; Segments.RemoveAt(index); if (Segments.Count != 0) { Input = Segments[0].Input; Output = Segments[Segments.Count - 1].Output; } else { // Note: Input table and Output table are not table - this must be done in public methods and depends on whether it is removed as first or last segment (it is important for some algorithms) } return(result); }
/// <summary> /// Removes the last path segment /// </summary> /// <remarks><scheme>://<host>:<port>/<path segment 1>/<path segment 2>?<query key 1>=<query value 1>&<query key 2>=<query value 2>#<fragment></remarks> /// <returns>The UrlBuilder so you can chain/build</returns> public UrlBuilder RemoveLastSegment() { if (Segments.Count > 0) { Segments.RemoveAt(Segments.Count - 1); } return(this); }
/// <summary> /// Removes the first path segment /// </summary> /// <remarks><scheme>://<host>:<port>/<path segment 1>/<path segment 2>?<query key 1>=<query value 1>&<query key 2>=<query value 2>#<fragment></remarks> /// <returns>The UrlBuilder so you can chain/build</returns> public UrlBuilder RemoveFirstSegment() { if (Segments.Count > 0) { Segments.RemoveAt(0); } return(this); }
private void btnDelete_Click(object sender, EventArgs e) { if (listSegments.SelectedItems.Count == 0) { return; } Segments.RemoveAt((int)listSegments.SelectedItems[0].Tag); InitMe(); }
/// ------------------------------------------------------------------------------------ public virtual bool RemoveSegment(int index) { if (index < 0 || index >= Segments.Count) { return(false); } Segments.RemoveAt(index); return(true); }
/// <summary> /// Pop the last segment. /// </summary> /// <returns>The pop last segment.</returns> internal ODataPath Pop() { if (!Segments.Any()) { throw Error.InvalidOperation(SRResource.ODataPathPopInvalid); } _pathKind = null; _defaultPathItemName = null; Segments.RemoveAt(Segments.Count - 1); return(this); }
/// <summary> /// This will reorder our segments (in a CW sense). /// NOTE: The center will not be recalculated. /// </summary> public void Cycle(int num) { if (num < 0 || num > this.NumSides) { throw new System.ArgumentException("Cycle called with invalid input."); } for (int i = 0; i < num; i++) { // Move the first to the last (like a CW rotation). Segment first = Segments[0]; Segments.RemoveAt(0); Segments.Add(first); } }
/// <summary>Parses the segment with dot-segment normalization.</summary> /// <param name="actualUrl">The actual URL.</param> /// <param name="index">Current index.</param> /// <param name="lastSegment">The last segment index.</param> /// <returns>New index to be set.</returns> protected int ParseSegment(StringBuilder actualUrl, int index, ref int lastSegment) { if (index - lastSegment - 1 > 0) { string segment = actualUrl.ToString(lastSegment + 1, index - lastSegment - 1); switch (segment) { case ".": actualUrl.Remove(lastSegment + 1, index - lastSegment); index -= 2; segment = null; break; case "..": actualUrl.Remove(lastSegment + 1, index - lastSegment); index -= 3; segment = null; if (Segments.Count > 0) { int segmentLength = Segments[Segments.Count - 1].Length + 1; actualUrl.Remove(lastSegment = index -= segmentLength, segmentLength); Segments.RemoveAt(Segments.Count - 1); } break; } if (segment != null) { Segments.Add(segment); lastSegment = index; } } else { lastSegment = index; } return(index); }
public void RemoveSegment(int index) { Segments.RemoveAt(index); }
public void RemoveSegment(int index) { Segments[index].Dispose(); Segments.RemoveAt(index); }