将方法(get string[] 方法)传递给 WriteAllLines 方法
本文关键字:方法 WriteAllLines get string | 更新日期: 2023-09-27 18:17:13
我已经为此工作了一段时间,我很困惑。 这是 WriteAllLines 的语法
File.WriteAllLines(@"C:'system'path'file.txt", array[]);
如果数组在此类中,这对我有用。 我在另一个类中有一个数组,我也有一个 getter 方法。 当我尝试这个时:
File.WriteAllLines(@"C:'temp'selectedDays.txt", OtherClass.GetOrderDetailsArray());
但我收到一个错误。 如何从另一个类传递数组? 我可以使用这样的方法吗? 顺便说一句 - 另一个类中的方法如下所示:
public Array GetOrderDetailsArray()
{
return orderDetailsArray;
}
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[]
则应在返回之前将其复制到一个中。