我正在尝试将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时出现内存不足错误。
有谁能告诉我我做错了什么?
答案 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
:
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)
以下是重大变更之前/之前的参考文档: