【问题标题】:Easiest way to set all char array values to the same value [duplicate]将所有char数组值设置为相同值的最简单方法[重复]
【发布时间】:2014-06-22 03:02:56
【问题描述】:

我查看并没有找到明确的答案。我正在寻找将 char 数组中的所有数组元素设置为 '*' 的最简单方法。

public static int GridWidth = 7;
public static int GridHeight = 5;

char[,] Cave = new char[GridWidth, GridHeight]

所以我有一个多维数组,想将所有元素设置为“*”。这是遍历数组以设置每个值的情况,还是有替代方法?

【问题讨论】:

  • 我正在寻找最简单的方法。你认为还有比 for 循环更简单的方法吗?
  • @SriramSakthivel:是的,FillArray(Cave, '*')
  • @HenkHolterman 不幸的是这是 c# :p
  • @SriramSakthivel - 我知道。

标签: c# multidimensional-array arrays


【解决方案1】:

我自己会使用这两个循环,以下肯定不会比 for 循环更容易:

单行 LINQ:

 Enumerable.Range(0, GridWidth)
.AsParallel()
.ForAll(s => Enumerable.Range(0, GridHeight)
.AsParallel()
.ForAll(p => Cave[s, p] = '*'));

【讨论】:

    【解决方案2】:

    为每个循环运行 double 是目前初始化二维数组的最简单方法。

    for(int i = 0; i< GridWidth; i++)
       for(int j = 0; j< GridHeight; j++)
          Cave[i,j] = '*'
    

    【讨论】:

    • 如何防止出现 IndexOutOfRangeException?
    • 将此行添加到 char[,] Cave = new char[GridWidth, GridHeight]
    猜你喜欢
    • 1970-01-01
    • 2022-10-15
    • 2016-04-16
    • 2012-02-26
    • 2019-04-21
    • 2011-03-22
    • 1970-01-01
    • 2013-10-10
    • 2015-01-12
    相关资源
    最近更新 更多