现在使用以下代码,当我尝试调用该方法时,Console.WriteLine(ss[0])
返回System.IO.ReadLinesIterator
和Console.WriteLine(ss[1])
返回此错误:System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
这是我的代码
static Stack<string> Loaded = new Stack<string>();
public static void loadFile()
{
string ii = File.ReadLines(@"D:test.txt").ToString();
Loaded.Push(ii);
}
public static void AddValues()
{
while (combos.Count > 0)
{
string line = Loaded.Pop();
string[] ss = line.Split(':');
Console.WriteLine(ss[0] + "55.65" + ss[1]); // error here because it isn't making the array right or something, not sure
}
}
test.txt文件的示例是
Value1:Value2
值6:value4
我需要的是乘每行并分开给我Value155.65Value2
File.ReadLines
返回IEnumerable<string>
,因此问题是您将IEnumerable<string>
分配给string
。
您需要的是File.ReadAllText
。此方法只是返回字符串。
所以,而不是
string ii = File.ReadLines(@"D:test.txt").ToString();
使用
string ii = File.ReadAllText(@"D:test.txt");
简单地做Loaded = new Stack<string>(File.ReadLines(@"D:test.txt"));
感谢@khoroshevj