.NET 相当于 Java 中的 java.util.Arrays.toString(...) 方法

问题描述 投票:0回答:3

在 Java 中,

java.util.Arrays
类有几个静态
toString(...)
方法,它们接受数组并返回其字符串表示形式(即用逗号分隔的数组内容的字符串表示形式以及用方括号括起来的整个表示形式 - 例如“[1,2,3]”)。

.NET 中是否有等效的方法/功能?

我正在寻找一种 for 方法来执行此操作,而无需手动构建循环/方法来迭代数组。

java .net arrays comparison
3个回答
3
投票

String.Join方法。

[您需要自己添加方括号]


1
投票

试试这个。它不会处理 NULL 值,但可以处理值类型和引用类型。因为它是一个扩展方法,所以您可以在任何数组实例上调用 .ToElementString() 。

public static string ToElementString<T>(this T[] array) {
  var middle = array.Select(x => x.ToString().Aggregate((l,r) => l+","+r);
  return "[" + middle + "]";
}

这是一个使用构建器的版本,并且可能会更高效(只有分析器才能确定)。它还将正确处理空值。

public static string ToElementString<T>(this T[] array) {
  var builder = new StringBuilder();
  builder.Append('[');
  for(int i =0; i < array.Length; i++ ) {
    if ( i > 0 ) {
      builder.Append(',');
    }
    builder.Append(array[i]);
  }
  builder.Append(']');
  return builder.ToString();
}

0
投票

最好的选择是使用 JsonSerializer,如下所示:

int[] ar=[1,2,10];
string json=System.Text.Json.JsonSerializer.Serialize(ar);
Console.WriteLine(json);
© www.soinside.com 2019 - 2024. All rights reserved.