在C#中使用默认值初始化字符串数组的3种方式


在本文中,您将学习到新建字符串数组如何设置默认值。数组是可以使用索引访问的相同类型的元素的集合。对于字符串数组,每个元素都是一个字符串值。在 C# 中创建新的字符串数组时,默认值为 null。但是,在某些情况下,您可能希望使用特定的默认值而不是 null 初始化字符串数组。例如,希望 Array 的所有元素都有初始默认值(比如来源城市,默认为“未知”)。

在 C# 中使用数组的方式如下,一般初始化为null。

//以下五个元素的字符串数组;每个初始化为 null
string[] myArray = new string[5];
//访问方式
string firstElement = myArray[0];
//firstElement的结果为null

如果指定初始化字符串数组的值不为null,而有默认的值,怎么实现呢?下面有三种方法实现默认值初始化字符串数组。

1、Enumerable.Repeat

在 C# 中,Enumerable.Repeat 方法可以用来创建一个包含指定元素重复若干次的序列。首先Enumerable.Repeat生产指定元素的若干序列,然后用ToArray()转换成数组。代码如下:

public class Program
{
    public static void Main()
{
        string element = "未知";
        int count = 10;
        string[] array = Enumerable.Repeat(element, count).ToArray();
        Console.WriteLine(String.Join(",", array));
    }
}

上面代码初始化元素为”未知“,数量为10个。最后用String.Join 方法用逗号隔开打印出数组的内容。

输出

2、使用for循环

for 循环是初始化数组的推荐方法。下面的代码演示如何使用 for 循环在 C# 中用初始值填充数组。

public class Program
{
    public static void Main()
{
        string element = "未知";//初始化值为未知
        int count = 10;
        //新建一个字符串数组,长度为10
       string[] array = new string[count];
        for (int i = 0; i < count; i++)
        {
            array[i] = element;
        }
        Console.WriteLine(String.Join(",", array));
    }
}

这是一个 C# 程序,它创建一个整数数组,将每个元素初始化为值 2,然后使用

输出

3、使用Array.Fill

在 C# 中,Array.Fill 方法可以用来为数组中的元素赋值。

语法

Array.Fill(array, value);

第一个参数表示我们要填充的 Array,第二个参数定义我们要为每个数组索引提供的值。由于此方法是静态和通用的,因此我们可以将其与任何对象类型的数组一起使用,并且不需要实例化程序类来使用它。

下面我们实现上面案例的填充,代码如下

public class Program
{
    public static void Main()
{
         string element = "未知";//初始化值为未知
        int count = 10;
        //新建一个字符串数组,长度为10
       string[] array = new string[count];
       //使用Array.Fill填充
        Array.Fill(array, element);
        Console.WriteLine(String.Join(",", array));
    }
}
//欢迎关注公众号:DOTNET开发跳槽,领取海量面试题。加微信号xbhpnet入群

输出

结语

本文介绍了如何在C#中使用默认值初始化字符串数组的3种方式,小编推荐使用方法2和方法3。希望本文对你有所帮助,欢迎大家留言和吐槽。

参考:微软官方文档

来源公众号:DotNet开发跳槽