Collection<T> 类提供通用集合的基类。这里T是集合中元素的类型。此类位于 System.Collections.ObjectModel 命名空间下。
特征:
- 集合<T> 可以通过创建其构造类型之一的实例来立即使用类。
- 集合<T> 类提供受保护的方法,可用于在添加和删除项目、清除集合或设置现有项目的值时自定义其行为。
- 最多集合<T> 对象可以被修改。但是,使用只读属性初始化的 Collection 对象列表<T>对象不能被修改。
- 可以使用整数索引来访问此集合中的元素。该集合中的索引是零基础.
- 集合<T> 接受空值作为引用类型的有效值并允许重复元素。
Constructors
构造函数 | 说明 |
---|---|
集合<T>() | 初始化 Collection 的新实例<T> 类是空的。 |
集合<T>(列表<T>) | 初始化 Collection 的新实例<T> 类作为指定列表的包装器。 |
例子:
// C# code to create a Collection
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of ints
Collection<int> myColl = new Collection<int>();
// Adding elements in Collection myColl
myColl.Add(2);
myColl.Add(3);
myColl.Add(4);
myColl.Add(5);
// Displaying the elements in myColl
foreach(int i in myColl)
{
Console.WriteLine(i);
}
}
}
输出:
2 3 4 5
Properties
属性 | 说明 |
---|---|
Count | 获取 Collection< 中实际包含的元素数量T>。 |
Items | 获取 IList<T> 集合的包装<T>。 |
项目[Int32] | 获取或设置指定索引处的元素。 |
例子:
// C# Code to illustrate the
// Properties of Collection class
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of strings
Collection<string> myColl = new Collection<string>();
// Adding elements in Collection myColl
myColl.Add("A");
myColl.Add("B");
myColl.Add("C");
myColl.Add("D");
myColl.Add("E");
// ------- Count Property ----------
// To print the count of
// elements in Collection
Console.WriteLine("Count : " + myColl.Count);
// -------- Item[Int32] Property --------
// Get the element at index 2
Console.WriteLine("Element at index 2 is : " + myColl[2]);
// Get the element at index 3
Console.WriteLine("Element at index 3 is : " + myColl[3]);
}
}
输出:
Count : 5 Element at index 2 is : C Element at index 3 is : D
Methods
方法 | 说明 |
---|---|
Add(T) | 将一个对象添加到 Collection< 的末尾T>。 |
Clear() | 从 Collection< 中删除所有元素T>。 |
ClearItems() | 从 Collection< 中删除所有元素T>。 |
Contains(T) | 确定元素是否在 Collection< 中T>。 |
复制到 (T[], Int32) | 复制整个集合<T> 到兼容的一维数组,从目标数组的指定索引开始。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
GetEnumerator() | 返回一个遍历 Collection< 的枚举器T>。 |
GetHashCode() | 用作默认的哈希函数。 |
GetType() | 获取当前实例的类型。 |
IndexOf(T) | 搜索指定对象并返回整个 Collection< 中第一次出现的从零开始的索引T>。 |
插入(Int32,T) | 将一个元素插入到 Collection<T> 在指定的索引处。 |
插入项目(Int32,T) | 将元素插入到集合中指定索引处。 |
MemberwiseClone() | 创建当前对象的浅拷贝。 |
Remove(T) | 从 Collection< 中删除第一次出现的特定对象T>。 |
删除 (Int32) | 删除 Collection< 指定索引处的元素T>。 |
删除项目(Int32) | 删除 Collection< 指定索引处的元素T>。 |
设置项目(Int32,T) | 替换指定索引处的元素。 |
ToString() | 返回表示当前对象的字符串。 |
例子:
// C# code to check if an
// element is in the Collection
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of strings
Collection<string> myColl = new Collection<string>();
myColl.Add("A");
myColl.Add("B");
myColl.Add("C");
myColl.Add("D");
myColl.Add("E");
// Checking if an element is in the Collection
// The function returns "True" if the
// item is present in Collection
// else returns "False"
Console.WriteLine(myColl.Contains("A"));
}
}
输出:
True
示例 2:
// C# code to copy the entire Collection
// to a compatible one-dimensional Array,
// starting at the specified index of
// the target array
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
class GFG {
// Driver code
public static void Main()
{
// Creating a collection of strings
Collection<string> myColl = new Collection<string>();
myColl.Add("A");
myColl.Add("B");
myColl.Add("C");
myColl.Add("D");
myColl.Add("E");
// Creating a string array
string[] myArr = new string[myColl.Count];
// Copying the entire Collection to a
// compatible one-dimensional Array,
// starting at the specified index
// of the target array
myColl.CopyTo(myArr, 0);
// Displaying the elements in myArr
foreach(string str in myArr)
{
Console.WriteLine(str);
}
}
}
输出:
A B C D E
参考:
相关用法
- C# Console.MoveBufferArea()用法及代码示例
- C# Convert.ToBase64String()用法及代码示例
- C# Convert.ToBase64CharArray()用法及代码示例
- C# Console.WindowLeft用法及代码示例
- C# Console.WindowWidth用法及代码示例
- C# Convert.FromBase64String(String)用法及代码示例
- C# Convert.GetTypeCode(Object)用法及代码示例
- C# Console.Clear用法及代码示例
- C# Console.MoveBufferArea用法及代码示例
- C# Console.OpenStandardError用法及代码示例
- C# Console.OpenStandardInput用法及代码示例
- C# Console.Read()用法及代码示例
- C# Console.ReadKey()用法及代码示例
- C# Console.SetBufferSize()用法及代码示例
- C# Console.SetCursorPosition()用法及代码示例
- C# Console.SetError()用法及代码示例
- C# Console.SetIn()用法及代码示例
- C# Console.SetOut()用法及代码示例
- C# Console.SetWindowPosition()用法及代码示例
- C# Console.SetWindowSize()用法及代码示例
- C# Console.ReadLine()用法及代码示例
- C# Console.ResetColor()用法及代码示例
- C# Convert.ToUInt64(String, IFormatProvider)用法及代码示例
- C# Convert.ToUInt32(String, IFormatProvider)用法及代码示例
- C# Convert.ToUInt16(String, IFormatProvider)用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 C# | Collection Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。