Parametr Collection : SortedList « Collections Data Structure « C# / C Sharp






Parametr Collection

      
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

namespace DACU.VkontakteApi.Collections
{
  class VKParametrCollection: SortedList<string,string>
  {
    private string _formatedString = "";
    private bool _isChanged;

    public new void Add(string key,string value)
    {
      if (!ContainsKey(key))
      {
        base.Add(key, value);
        _isChanged = true;
      }
    }

    public new void Clear()
    {
      _isChanged = true;
      _formatedString = "";
      base.Clear();
    }

    public new void Remove(string key)
    {
      _isChanged = true;
      base.Remove(key);
    }

    public new void RemoveAt(int index)
    {
      _isChanged = true;
      base.RemoveAt(index);
    }

    public void ForEach(Action<string,string> action)
    {
      if (action == null)
        throw new ArgumentNullException("action");
      for (int i = 0; i < Keys.Count; i++)
        action(Keys[i],this[Keys[i]]);
    }

    public string ToFormatedString(bool withAmp=false)
    {
      if (!_isChanged)
        if (!String.IsNullOrWhiteSpace(_formatedString))
          return _formatedString;
      var sb = new StringBuilder();
      if (withAmp)
        ForEach((key, value) => sb.AppendFormat("&{0}={1}",key, value));
      else
        ForEach((key, value) => sb.AppendFormat("{0}={1}", key, value));
      _isChanged = false;
      return _formatedString = sb.ToString();
    }
  }
}

   
    
    
    
    
    
  








Related examples in the same category

1.Create SortedList sorted according to the specified IComparer
2.Create a SortedList using case-insensitive comparer
3.Create a SortedList using CaseInsensitiveComparer based on the Turkish culture (tr-TR)
4.Create a SortedList using the StringComparer.InvariantCultureIgnoreCase value.
5.SortedList is a collection of key/value pairs that are sorted by the keys and are accessible by key and by index.
6.SortedList.Add Method Adds an element with key and value to a SortedList object.
7.SortedList.Clear removes all elements from a SortedList object.
8.SortedList.Contains Determines whether a SortedList object contains a specific key.
9.SortedList.CopyTo copies SortedList elements to a one-dimensional Array object
10.SortedList.GetByIndex gets the value at the specified index of a SortedList object.
11.SortedList.IndexOfKey returns the zero-based index of the specified key in a SortedList object.
12.SortedList.IsSynchronized tells whether access to a SortedList object is synchronized (thread safe).
13.SortedList.Remove removes the element with the specified key from a SortedList object.
14.SortedList.SetByIndex replaces the value at a specific index in a SortedList object.
15.Add element to SortedListAdd element to SortedList
16.Add to SortedList, get by key and index
17.Delete element in a SortedList with RemoveAt
18.illustrates the use of a SortedListillustrates the use of a SortedList
19.illustrates the use of the SortedList methodsillustrates the use of the SortedList methods
20.Demonstrate a SortedListDemonstrate a SortedList
21.Create a SortedList using the default comparer
22.Create a SortedList using the specified case-insensitive comparer
23.Create a SortedList using the specified CaseInsensitiveComparer