Edit

Share via


CommaDelimitedStringCollection Class

Definition

Represents a collection of string elements separated by commas. This class cannot be inherited.

public ref class CommaDelimitedStringCollection sealed : System::Collections::Specialized::StringCollection
public sealed class CommaDelimitedStringCollection : System.Collections.Specialized.StringCollection
type CommaDelimitedStringCollection = class
    inherit StringCollection
Public NotInheritable Class CommaDelimitedStringCollection
Inherits StringCollection
Inheritance
CommaDelimitedStringCollection

Examples

The following code example demonstrates how to use the CommaDelimitedStringCollection type.

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Configuration;
using System.Collections.Specialized;

namespace Samples.AspNet.Config
{
  class CommaDelimitedStrCollection
  {
    static void Main(string[] args)
    {
      // Display title and info.
      Console.WriteLine("ASP.NET Configuration Info");
      Console.WriteLine("Type: CommaDelimitedStringCollection");
      Console.WriteLine();

      // Set the path of the config file.
      string configPath = "/aspnet";

      // Get the Web application configuration object.
      Configuration config = 
        WebConfigurationManager.OpenWebConfiguration(configPath);

      // Get the section related object.
      AuthorizationSection configSection =
        (AuthorizationSection)config.GetSection("system.web/authorization");

      // Get the authorization rule collection.
      AuthorizationRuleCollection authorizationRuleCollection = 
        configSection.Rules;

      // Create a CommaDelimitedStringCollection object.
      CommaDelimitedStringCollection myStrCollection =
        new CommaDelimitedStringCollection();

      for (int i = 0; i < authorizationRuleCollection.Count; i++)
      {
        if (authorizationRuleCollection.Get(i).Action.ToString().ToLower() 
          == "allow")
        {
          // Add values to the CommaDelimitedStringCollection object.
          myStrCollection.AddRange(
            authorizationRuleCollection.Get(i).Users.ToString().Split(
            ",".ToCharArray()));
        }
      }

      Console.WriteLine("Allowed Users: {0}",
        myStrCollection.ToString());

      // Count the elements in the collection.
      Console.WriteLine("Allowed User Count: {0}", 
        myStrCollection.Count);

      // Call the Contains method.
      Console.WriteLine("Contains 'userName1': {0}",
        myStrCollection.Contains("userName1"));

      // Determine the index of an element
      // in the collection.
      Console.WriteLine("IndexOf 'userName0': {0}",
        myStrCollection.IndexOf("userName0"));

      // Call IsModified.
      Console.WriteLine("IsModified: {0}",
        myStrCollection.IsModified);

      // Call IsReadyOnly.
      Console.WriteLine("IsReadOnly: {0}",
        myStrCollection.IsReadOnly);

      Console.WriteLine();
      Console.WriteLine("Add a user name to the collection.");
      // Insert a new element in the collection.
      myStrCollection.Insert(myStrCollection.Count, "userNameX");

      Console.WriteLine("Collection Value: {0}",
        myStrCollection.ToString());

      Console.WriteLine();
      Console.WriteLine("Remove a user name from the collection.");
      // Remove an element of the collection.
      myStrCollection.Remove("userNameX");

      Console.WriteLine("Collection Value: {0}",
        myStrCollection.ToString());

      // Display and wait
      Console.ReadLine();
    }
  }
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Configuration
Imports System.Collections.Specialized

Namespace Samples.AspNet.Config
  Class CommaDelimitedStrCollection
    Shared Sub Main(ByVal args() As String)
      ' Display title and info.
      Console.WriteLine("ASP.NET Configuration Info")
      Console.WriteLine("Type: CommaDelimitedStringCollection")
      Console.WriteLine()

      ' Set the path of the config file.
      Dim configPath As String = "/aspnet"

      ' Get the Web application configuration object.
      Dim config As Configuration = _
      WebConfigurationManager.OpenWebConfiguration(configPath)

      ' Get the section related object.
      Dim configSection As AuthorizationSection = _
      CType(config.GetSection("system.web/authorization"), AuthorizationSection)

      ' Get the authorization rule collection.
      Dim authorizationRuleCollection As AuthorizationRuleCollection = _
      configSection.Rules()

      ' Create a CommaDelimitedStringCollection object.
      Dim myStrCollection As CommaDelimitedStringCollection = _
        New CommaDelimitedStringCollection()

      Dim i As Integer
      For i = 0 To authorizationRuleCollection.Count - 1 Step i + 1
        If authorizationRuleCollection.Get(i).Action.ToString().ToLower() _
          = "allow" Then
          ' Add values to the CommaDelimitedStringCollection object.
          myStrCollection.AddRange( _
            authorizationRuleCollection.Get(i).Users.ToString().Split( _
            ",".ToCharArray()))
        End If
      Next

      Console.WriteLine("Allowed Users: {0}", _
        myStrCollection.ToString())

      ' Count the elements in the collection.
      Console.WriteLine("Allowed User Count: {0}", _
        myStrCollection.Count)

      ' Call the Contains method.
      Console.WriteLine("Contains 'userName1': {0}", _
        myStrCollection.Contains("userName1"))

      ' Determine the index of an element
      ' in the collection.
      Console.WriteLine("IndexOf 'userName0': {0}", _
        myStrCollection.IndexOf("userName0"))

      ' Call IsModified.
      Console.WriteLine("IsModified: {0}", _
        myStrCollection.IsModified)

      ' Call IsReadyOnly.
      Console.WriteLine("IsReadOnly: {0}", _
        myStrCollection.IsReadOnly)

      Console.WriteLine()
      Console.WriteLine("Add a user name to the collection.")
      ' Insert a new element in the collection.
      myStrCollection.Insert(myStrCollection.Count, "userNameX")

      Console.WriteLine("Collection Value: {0}", _
        myStrCollection.ToString())

      Console.WriteLine()
      Console.WriteLine("Remove a user name from the collection.")
      ' Remove an element of the collection.
      myStrCollection.Remove("userNameX")

      Console.WriteLine("Collection Value: {0}", _
        myStrCollection.ToString())

      ' Display and wait
      Console.ReadLine()
    End Sub
  End Class
End Namespace

Remarks

This class represents a string collection that is serialized as a comma-delimited list of string elements.

Constructors

CommaDelimitedStringCollection()

Creates a new instance of the CommaDelimitedStringCollection class.

Properties

Count

Gets the number of strings contained in the StringCollection.

(Inherited from StringCollection)
IsModified

Gets a value that specifies whether the collection has been modified.

IsReadOnly

Gets a value indicating whether the collection object is read-only.

IsSynchronized

Gets a value indicating whether access to the StringCollection is synchronized (thread safe).

(Inherited from StringCollection)
Item[Int32]

Gets or sets a string element in the collection based on the index.

SyncRoot

Gets an object that can be used to synchronize access to the StringCollection.

(Inherited from StringCollection)

Methods

Add(String)

Adds a string to the comma-delimited collection.

AddRange(String[])

Adds all the strings in a string array to the collection.

Clear()

Clears the collection.

Clone()

Creates a copy of the collection.

Contains(String)

Determines whether the specified string is in the StringCollection.

(Inherited from StringCollection)
CopyTo(String[], Int32)

Copies the entire StringCollection values to a one-dimensional array of strings, starting at the specified index of the target array.

(Inherited from StringCollection)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator()

Returns a StringEnumerator that iterates through the StringCollection.

(Inherited from StringCollection)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IndexOf(String)

Searches for the specified string and returns the zero-based index of the first occurrence within the StringCollection.

(Inherited from StringCollection)
Insert(Int32, String)

Adds a string element to the collection at the specified index.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String)

Removes a string element from the collection.

RemoveAt(Int32)

Removes the string at the specified index of the StringCollection.

(Inherited from StringCollection)
SetReadOnly()

Sets the collection object to read-only.

ToString()

Returns a string representation of the object.

Explicit Interface Implementations

ICollection.CopyTo(Array, Int32)

Copies the entire StringCollection to a compatible one-dimensional Array, starting at the specified index of the target array.

(Inherited from StringCollection)
IEnumerable.GetEnumerator()

Returns a IEnumerator that iterates through the StringCollection.

(Inherited from StringCollection)
IList.Add(Object)

Adds an object to the end of the StringCollection.

(Inherited from StringCollection)
IList.Contains(Object)

Determines whether an element is in the StringCollection.

(Inherited from StringCollection)
IList.IndexOf(Object)

Searches for the specified Object and returns the zero-based index of the first occurrence within the entire StringCollection.

(Inherited from StringCollection)
IList.Insert(Int32, Object)

Inserts an element into the StringCollection at the specified index.

(Inherited from StringCollection)
IList.IsFixedSize

Gets a value indicating whether the StringCollection object has a fixed size.

(Inherited from StringCollection)
IList.IsReadOnly

Gets a value indicating whether the StringCollection object is read-only.

(Inherited from StringCollection)
IList.Item[Int32]

Gets or sets the element at the specified index.

(Inherited from StringCollection)
IList.Remove(Object)

Removes the first occurrence of a specific object from the StringCollection.

(Inherited from StringCollection)

Extension Methods

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to

See also