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