1

我正在尝试将 double[,] 转换为一个 string[],如下所示

double[,] completeDataArray = new double[25,4000];
string[] tarray = new string[4000];

for(int i = 0;i<4000;i++)
{
    tarray[i]=string.Join(",",Convert.ToString(completeDataArray[24,i]));
}

`

当我在视觉工作室这样做时,一切都按预期工作。但是在sharpDevelop中我得到了这两个错误

(1)'string.Join(string,string[])' 的最佳重载方法匹配有一些无效参数和 (2)Argument 2: cannot convert from 'string' to string[]'

我可以让它工作的唯一方法是使用另一个字符串数组。

double[,] completeDataArray = new double[25,4000];
string[] tarray = new string[4000];
string[] tempString = new string[4000];

for(int i=0;i<4000;i++)
    tempString[i]=convert.toString(completeDateArray[24,i]);

for(int i = 0;i<4000;i++)
    tarray[i]=string.Join(",",tempString);

我遇到的唯一问题是内存不足,当我使用 tempString 时出现内存不足错误。

谁能告诉我我做错了什么?

4

1 回答 1

6

您的代码似乎正在使用String.Join.NET 4 中添加的重载,并且可能不存在于您正在使用的 .NET(Microsoft 或 Mono)的实现中。以下是String.Join随时间变化的摘要。

String.Join.NET 4 中添加了新的重载:

public static string Join(string separator, IEnumerable<string> values)
public static string Join<T>(string separator, IEnumerable<T> values)
public static string Join(string separator, params Object[] values)

通过添加以下方法在 .NET 4 中进行了更改params

public static string Join(string separator, params string[] values)

自 .NET 1.0 起,以下方法可用:

public static string Join(string separator, string[] values)
public static string Join(string separator, string[] value, int startIndex, int count)

以下是重大更改之后/之前的参考文档:

于 2013-05-20T17:09:59.730 回答