我正在尝试将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]));
}
Run Code Online (Sandbox Code Playgroud)
`
当我在视觉工作室中这样做时,一切都按预期工作.但是在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);
Run Code Online (Sandbox Code Playgroud)
我遇到的唯一问题是我的内存不足,当我使用tempString时出现内存不足错误.
谁能告诉我我做错了什么?
您的代码似乎使用了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)
Run Code Online (Sandbox Code Playgroud)
通过添加以下方法在.NET 4中更改了以下方法params:
public static string Join(string separator, params string[] values)
Run Code Online (Sandbox Code Playgroud)
自.NET 1.0以来,已有以下方法可用:
public static string Join(string separator, string[] values)
public static string Join(string separator, string[] value, int startIndex, int count)
Run Code Online (Sandbox Code Playgroud)
以下是大变化之后/之前的参考文档: