我正在尝试将一个值转换为另一个值。我正在使用 streamreader/writer 导入一个文本文件。我想知道我是否可以让 if 语句中的 while 循环的一部分等到循环的其余部分完成,然后再编写它应该写的内容。我知道这可能是一个简单的问题,但出于某种原因,我可以把手指放在上面。我没有使用多线程处理并且想远离异步。
using (StreamReader reader = new StreamReader(convertInput))
{
string line;
writer.WriteLine(formatter, "Original Value", "Converted Value");
writer.WriteLine(formatter, "--------------", "---------------");
A: while ((line = reader.ReadLine()) != null)
{
string str2BeConverted = line;
long numHexToDex;
if ((Int64.TryParse(line, NumberStyles.HexNumber, null, out numHexToDec)) == false)
{
writer.WriteLine();
writer.Write(line + " " + "is not a Hexadecimal value.");
goto A;
}
Int64.TryParse(line, NumberStyles.HexNumber, null, out numHexToDec);
string lineChanged = numHexToDec.ToString("G");
}
}
我想等到所有成功解析的值都被写入,然后再写入最后没有的值。