ArrayList.SetRange(Int32,ICollection)方法用于在ArrayList中的一系列元素上复制集合的元素。
句法:
public virtual void SetRange (int index, System.Collections.ICollection c);
参数:
index: It is a zero-based ArrayList index at which to start copying the elements of c. The type of this parameter is System.Int32.
c: It is an ICollection whose elements to copy to the ArrayList. The collection itself cannot be null, but it can contain elements that are null.
例外情况:
- ArgumentNullException:如果c的值为null。
- NotSupportedException:如果ArrayList为只读。
- ArgumentOutOfRangeException:如果索引小于零或[索引+ c中的元素数]> Count 。
下面给出了一些示例,以更好地理解实现:
范例1:
// C# Program to illustrate the
// SetRange() Method
using System;
using System.Collections;
class GFG {
// Main method
public static void Main()
{
// Create and initialize ArrayList
ArrayList mylist = new ArrayList();
mylist.Add("G");
mylist.Add("e");
mylist.Add("e");
mylist.Add("k");
mylist.Add("s");
mylist.Add("G");
mylist.Add("F");
mylist.Add("G");
// There are total 4 elements
string[] str = { "This", "is", "C#", "Tutorial" };
// using SetRange() Method
// starting from index 0
mylist.SetRange(0, str);
Show("ArrayList is", mylist);
}
// show method to display the result
static void Show(string arr, ArrayList mylist)
{
for (int j = 0; j < mylist.Count; j++) {
Console.WriteLine(arr + "[" + j + "] = " + mylist[j]);
}
}
}
输出:
ArrayList is[0] = This
ArrayList is[1] = is
ArrayList is[2] = C#
ArrayList is[3] = Tutorial
ArrayList is[4] = s
ArrayList is[5] = G
ArrayList is[6] = F
ArrayList is[7] = G
范例2:
// C# Program to illustrate the
// SetRange() Method
using System;
using System.Collections;
class GFG {
// Main method
public static void Main()
{
// Create and initialize ArrayList
ArrayList mylist1 = new ArrayList();
mylist1.Add("Hello ");
mylist1.Add("Welcome ");
mylist1.Add("to ");
mylist1.Add("online ");
mylist1.Add("portal ");
mylist1.Add("of ");
mylist1.Add("Geeks ");
mylist1.Add("for ");
mylist1.Add("Geeks ");
// Create and initialize new ArrayList
ArrayList mylist2 = new ArrayList();
mylist2.Add("This ");
mylist2.Add("is ");
mylist2.Add("C# ");
mylist2.Add("tutorial");
mylist2.Add(".");
// Displays the values of 6
// elements of mylist1 starting
// at index 0.
ArrayList result = mylist1.GetRange(0, 6);
Console.WriteLine("String from index number 0 to 6:");
{
foreach(Object obj in result)
Console.Write("{0}", obj);
Console.WriteLine();
}
// Replace the value of 5 element
// starting from index 1
// with the values in mylist2
mylist1.SetRange(1, mylist2);
// Display the result
result = mylist1.GetRange(0, 6);
Console.WriteLine("After SetRange() Method:");
{
foreach(Object obj in result)
Console.Write("{0}", obj);
Console.WriteLine();
}
}
}
输出:
String from index number 0 to 6:
Hello Welcome to online portal of
After SetRange() Method:
Hello This is C# tutorial.
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.setrange?view=netframework-4.7.2