У меня есть сильфона код:Лучший способ удалить самый последний возврат каретки в StreamWriter.WriteLine C#
SqlDataReader Rdr = Cmd.ExecuteReader();
if (Rdr.HasRows)
{
using (StreamWriter writer = new StreamWriter("c:\\Test.txt"))
{
while (Rdr.Read())
{
writer.WriteLine(Rdr["Item1"].ToString() + Rdr["Item2"].ToString());
}
}
}
Rdr.Close();
WriteLine
добавляет возврат каретки каждый раз, но мне нужно, чтобы избежать этого, при достижении последней строки.
Я нашел сильфона код, чтобы знать, когда SqlDataReader находится в последней строке, где в этот момент я могу изменить WriteLine
по Write
который не добавляет возврат каретки:
if (reader.HasRows)
{
var loop = true;
while (loop)
{
//1. Here retrive values you need e.g. var myvar = reader.GetBoolean(0);
loop = reader.Read();
if (!loop)
{
//You are on the last record. Use values read in 1.
//Do some exceptions
}
else {
//You are not on the last record.
//Process values read in 1., e.g. myvar
}
}
}
Любая другая идея сделать это лучше?
OP не требует возврата каретки только для последней строки. – CodeCaster