我已经对此做了一点努力而且我很难过。这是WriteAllLines
的语法File.WriteAllLines(@"C:\system\path\file.txt", array[]);
如果数组在此类中,这对我有用。我在另一个类中有一个数组,我也有一个getter方法。当我尝试这个时:
File.WriteAllLines(@"C:\temp\selectedDays.txt", OtherClass.GetOrderDetailsArray());
但是我收到了错误。如何从另一个类传递数组?我可以使用这样的方法吗? BTW - 其他类中的方法如下所示:
public Array GetOrderDetailsArray()
{
return orderDetailsArray;
}
答案 0 :(得分:1)
File.WriteAllLines
有四种可能的重载:
WriteAllLines(String, IEnumerable<String>)
WriteAllLines(String, String[])
WriteAllLines(String, IEnumerable<String>, Encoding)
WriteAllLines(String, String[], Encoding)
在所有四种情况下,您要写入文件的内容必须是数组或String
值的序列。
您正在尝试传入非string[]
或IEnumerable<string>
的对象;通过使用Array
作为返回类型,编译器不知道数组中的数据类型是什么类型。
一般来说,你很少想要Array
作为一种类型,因为它的类型不安全。你的方法应该是这样的:
public string[] GetOrderDetailsArray()
{
return orderDetailsArray;
}
如果orderDetailsArray
不是string[]
,您应该在退回之前将其复制到其中。