C# 如何修复堆栈未正确添加行的问题?
现在使用下面的代码,当我尝试调用该方法时,C# 如何修复堆栈未正确添加行的问题?,c#,.net,C#,.net,现在使用下面的代码,当我尝试调用该方法时,Console.WriteLine(ss[0])返回System.IO.ReadLinesIterator和Console.WriteLine(ss[1])返回此错误:System.IndexOutOfRangeException:“索引超出了数组的边界。”这是我的代码 static Stack<string> Loaded = new Stack<string>(); public static void loadFil
Console.WriteLine(ss[0])
返回System.IO.ReadLinesIterator
和Console.WriteLine(ss[1])
返回此错误:System.IndexOutOfRangeException:“索引超出了数组的边界。”
这是我的代码
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
}
}
静态堆栈加载=新堆栈();
公共静态void加载文件()
{
字符串ii=File.ReadLines(@“D:\test.txt”).ToString();
加载。推(ii);
}
公共静态void AddValues()
{
while(combos.Count>0)
{
string line=Loaded.Pop();
string[]ss=line.Split(“:”);
Console.WriteLine(ss[0]+“55.65”+ss[1]);//此处出现错误,因为它没有使数组正确,或者什么的,不确定
}
}
test.txt文件的外观示例如下值1:值2
值6:值4
我需要的是它获取每一行并分割,给我
Value155.65Value2
文件。ReadLines
返回IEnumerable
,所以问题是您将IEnumerable
分配给string
您需要的是File.ReadAllText
。此方法只返回字符串
因此,与其
string ii = File.ReadLines(@"D:\test.txt").ToString();
使用
只需执行
load=newstack(File.ReadLines(@“D:\test.txt”)代码>
多亏了@khoroshevj删除.ToString()并改用ReadAllText,您需要类似于foreach(File.ReadLines(@“D:\test.txt”){Loaded.Push(line);}
@Evk的东西,我尝试了这个方法,但不断出现错误,无法将字符转换为字符串,尽管我甚至尝试了.ToString()@LasseVågsætherKarlsen这是可行的,但现在它的输出像这样Value2\n Value6
我用来表示换行符,因为它在commentsTry中不起作用,只需执行load=new Stack(File.ReadLines(@“D:\test.txt”)代码>
string ii = File.ReadAllText(@"D:\test.txt");