sharpDevelop中使用的string.join方法

时间:2013-05-20 17:01:34

标签: c# sharpdevelop

我正在尝试将double [,]转换为一个字符串[],因为我的代码显示在下面

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)参数2:无法从'string'转换为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时出现内存不足错误。

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

1 个答案:

答案 0 :(得分:6)

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

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

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)

通过添加params

,在.NET 4中更改了以下方法
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)

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