C# 数组 - Empty() 方法
C# 数组 Empty() 方法返回一个空数组的单例实例,而无需每次都创建新的数组。
单例是一种创建型设计模式,它确保同类对象中只有一个可用,并为任何其他代码提供对它的单点访问。
此方法不会为空数组分配内存。
语法
以下是 C# 数组 Empty() 方法的语法 -
public static T[] Empty<T> ();
参数
此方法不接受任何参数 -
返回值
此方法返回一个类型为 T 的空数组。
示例 1:创建一个空的整数数组
这是 Empty() 方法的基本示例,展示了如何创建一个空的整数数组 -
using System;
class Program
{
static void Main()
{
// 创建一个空的整数数组
int[] emptyArray = Array.Empty<int>();
Console.WriteLine("Array length: " + emptyArray.Length);
}
}
输出
以下是输出 -
Array length: 0
示例 2:可选参数的默认值
在此示例中,在方法中对可选参数使用 Empty() 方法可确保您不会不必要地创建新数组。−
using System;
class Program {
public void PrintNumbers(int[] numbers = null) {
if (numbers == null) {
numbers = Array.Empty<int>();
}
if (numbers.Length == 0) {
Console.WriteLine("No numbers to display.");
} else {
Console.WriteLine("Numbers: " + string.Join(", ", numbers));
}
}
static void Main() {
Program program = new Program();
program.PrintNumbers();
program.PrintNumbers(new int[] { 1, 2, 3 });
}
}
输出
以下是输出 -
No numbers to display. Numbers: 1, 2, 3
示例 3:Array.Empty<T>() 与泛型集合
此示例演示了如何在复杂场景中使用 Empty() 方法,该场景可能与泛型或特定类型的集合一起使用 -
using System;
class Program
{
static void ProcessArray<T>(T[] array)
{
Console.WriteLine("Processing array of type: " + typeof(T).Name);
Console.WriteLine("Array length: " + array.Length);
}
static void Main()
{
double[] emptyDoubleArray = new double[0];
ProcessArray(emptyDoubleArray);
}
}
输出
以下是输出 -
Processing array of type: Double Array length: 0
示例 4:创建一个空的字符串数组
以下是 Empty() 方法的另一个示例。在这里,我们创建一个空的字符串数组 -
using System;
class Program
{
static void Main()
{
string[] array = new string [] {"aman", "kumar", "gupta", "tutorialspoint"};
// 创建一个空字符串数组
string[] emptyArray = Array.Empty<string>();
Console.WriteLine("Array length: " + emptyArray.Length);
// 显示数组元素
for(int i =0; i<array.Length; i++){
Console.Write(array[i] + " ");
}
}
}
输出
以下是输出 -
Array length: 0 aman kumar gupta tutorialspoint

csharp_array_class.html