C#学习追根溯源之集合方法集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#学习追根溯源之集合方法集相关的知识,希望对你有一定的参考价值。
System.Collections命名空间中的枚举器接口(IEnumerator)
***attention field : object Current{get;}
***interface method: bool MoveNext()
***interface method: void Reset();
using System;
using System.Runtime.InteropServices;
namespace System.Collections
{
// Summary:
// Supports a simple iteration over a nongeneric collection.
[ComVisible(true)]
[Guid("496B0ABF-CDEE-11d3-88E8-00902754C43A")]
public interface IEnumerator
{
// Summary:
// Gets the current element in the collection.
//
// Returns:
// The current element in the collection.
//
// Exceptions:
// System.InvalidOperationException:
// The enumerator is positioned before the first element of the collection or
// after the last element.
object Current { get; }
// Summary:
// Advances the enumerator to the next element of the collection.
//
// Returns:
// true if the enumerator was successfully advanced to the next element; false
// if the enumerator has passed the end of the collection.
//
// Exceptions:
// System.InvalidOperationException:
// The collection was modified after the enumerator was created.
bool MoveNext();
//
// Summary:
// Sets the enumerator to its initial position, which is before the first element
// in the collection.
//
// Exceptions:
// System.InvalidOperationException:
// The collection was modified after the enumerator was created.
void Reset();
}
}
2.System.Collections命名空间中的可枚举类型接口(IEnumerable)
***interface method: GetEnumerator()
using System.Runtime.InteropServices;
namespace System.Collections
{
// Summary:
// Exposes the enumerator, which supports a simple iteration over a non-generic
// collection.
[ComVisible(true)]
[Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")]
public interface IEnumerable
{
// Summary:
// Returns an enumerator that iterates through a collection.
//
// Returns:
// An System.Collections.IEnumerator object that can be used to iterate through
// the collection.
[DispId(-4)]
IEnumerator GetEnumerator();
}
}
3.System.Collections命名空间中的集合接口(ICollection)
***field: int Count{get;}
***field: bool isSynchronized{get;}
***field: object SyncRoot{get;}//同步根
***inteface method: CopyTo(Array array,int index);//attention there is a argument:Array
using System;
using System.Runtime.InteropServices;
namespace System.Collections
{
// Summary:
// Defines size, enumerators, and synchronization methods for all nongeneric
// collections.
[ComVisible(true)]
public interface ICollection : IEnumerable
{
// Summary:
// Gets the number of elements contained in the System.Collections.ICollection.
//
// Returns:
// The number of elements contained in the System.Collections.ICollection.
int Count { get; }
//
// Summary:
// Gets a value indicating whether access to the System.Collections.ICollection
// is synchronized (thread safe).
//
// Returns:
// true if access to the System.Collections.ICollection is synchronized (thread
// safe); otherwise, false.
bool IsSynchronized { get; }
//
// Summary:
// Gets an object that can be used to synchronize access to the System.Collections.ICollection.
//
// Returns:
// An object that can be used to synchronize access to the System.Collections.ICollection.
object SyncRoot { get; }
// Summary:
// Copies the elements of the System.Collections.ICollection to an System.Array,
// starting at a particular System.Array index.
//
// Parameters:
// array:
// The one-dimensional System.Array that is the destination of the elements
// copied from System.Collections.ICollection. The System.Array must have zero-based
// indexing.
//
// index:
// The zero-based index in array at which copying begins.
//
// Exceptions:
// System.ArgumentNullException:
// array is null.
//
// System.ArgumentOutOfRangeException:
// index is less than zero.
//
// System.ArgumentException:
// array is multidimensional.-or- The number of elements in the source System.Collections.ICollection
// is greater than the available space from index to the end of the destination
// array.
//
// System.ArgumentException:
// The type of the source System.Collections.ICollection cannot be cast automatically
// to the type of the destination array.
void CopyTo(Array array, int index);
}
}
4.System.Collections命名空间中的列表接口(IList)
***field: bool IsFixedSize{get;}
***field: bool IsReadOnly{get;}
***indexer: object this[int index]{get;set;}//索引器 (indexer)是这样一个成员:它支持按照索引数组的方法来索引对象。索引器的声明与属性类似,不同的是该成员的名称是this,后跟一个位于定界符[和]之间的参数列表。在索引器的访问器中可以使用这些参数。与属性类似,索引器可以是读写、只读和只写的,并且索引器的访问器可以是虚的。
***interface method: int Add(object value);
***interface method: void Clear();
***interface method: bool Contains(object value);
***interface method: int IndexOf(object value);
***interface method:void Insert(int index,object value);
***interface method:void Remove(object value);
***interface method: void RemoveAt(int index);
using System;
using System.Reflection;
using System.Runtime.InteropServices;
namespace System.Collections
{
// Summary:
// Represents a non-generic collection of objects that can be individually accessed
// by index.
[ComVisible(true)]
public interface IList : ICollection, IEnumerable
{
// Summary:
// Gets a value indicating whether the System.Collections.IList has a fixed
// size.
//
// Returns:
// true if the System.Collections.IList has a fixed size; otherwise, false.
bool IsFixedSize { get; }
//
// Summary:
// Gets a value indicating whether the System.Collections.IList is read-only.
//
// Returns:
// true if the System.Collections.IList is read-only; otherwise, false.
bool IsReadOnly { get; }
// Summary:
// Gets or sets the element at the specified index.
//
// Parameters:
// index:
// The zero-based index of the element to get or set.
//
// Returns:
// The element at the specified index.
//
// Exceptions:
// System.ArgumentOutOfRangeException:
// index is not a valid index in the System.Collections.IList.
//
// System.NotSupportedException:
// The property is set and the System.Collections.IList is read-only.
object this[int index] { get; set; }
// Summary:
// Adds an item to the System.Collections.IList.
//
// Parameters:
// value:
// The object to add to the System.Collections.IList.
//
// Returns:
// The position into which the new element was inserted, or -1 to indicate that
// the item was not inserted into the collection,
//
// Exceptions:
// System.NotSupportedException:
// The System.Collections.IList is read-only.-or- The System.Collections.IList
// has a fixed size.
int Add(object value);
//
// Summary:
// Removes all items from the System.Collections.IList.
//
// Exceptions:
// System.NotSupportedException:
// The System.Collections.IList is read-only.
void Clear();
//
// Summary:
// Determines whether the System.Collections.IList contains a specific value.
//
// Parameters:
// value:
// The object to locate in the System.Collections.IList.
//
// Returns:
// true if the System.Object is found in the System.Collections.IList; otherwise,
// false.
bool Contains(object value);
//
// Summary:
// Determines the index of a specific item in the System.Collections.IList.
//
// Parameters:
// value:
// The object to locate in the System.Collections.IList.
//
// Returns:
// The index of value if found in the list; otherwise, -1.
int IndexOf(object value);
//
// Summary:
// Inserts an item to the System.Collections.IList at the specified index.
//
// Parameters:
// index:
// The zero-based index at which value should be inserted.
//
// value:
// The object to insert into the System.Collections.IList.
//
// Exceptions:
// System.ArgumentOutOfRangeException:
// index is not a valid index in the System.Collections.IList.
//
// System.NotSupportedException:
// The System.Collections.IList is read-only.-or- The System.Collections.IList
// has a fixed size.
//
// System.NullReferenceException:
// value is null reference in the System.Collections.IList.
void Insert(int index, object value);
//
// Summary:
// Removes the first occurrence of a specific object from the System.Collections.IList.
//
// Parameters:
// value:
// The object to remove from the System.Collections.IList.
//
// Exceptions:
// System.NotSupportedException:
// The System.Collections.IList is read-only.-or- The System.Collections.IList
// has a fixed size.
void Remove(object value);
//
// Summary:
// Removes the System.Collections.IList item at the specified index.
//
// Parameters:
// index:
// The zero-based index of the item to remove.
//
// Exceptions:
// System.ArgumentOutOfRangeException:
// index is not a valid index in the System.Collections.IList.
//
// System.NotSupportedException:
// The System.Collections.IList is read-only.-or- The System.Collections.IList
// has a fixed size.
void RemoveAt(int index);
}
}
本文出自 “郊居岁暮” 博客,请务必保留此出处http://jiaojusuimu.blog.51cto.com/8751121/1875618
以上是关于C#学习追根溯源之集合方法集的主要内容,如果未能解决你的问题,请参考以下文章
《C#零基础入门之百识百例》(八十三)ArrayList数组列表详解 -- 代码示例