如何动态地为streamwriter方法构建字符串

时间:2017-02-16 16:43:50

标签: c#-4.0

 SqlCommand command = new SqlCommand("SELECT * FROM masterdata", conn);
        using (SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(reader[0]);
                log.Write(reader[0] + "|" + reader[1] + "|" + reader[2] + "|" + reader[3] + "|" +
                    reader[4] + "|" + reader[5] + "|" + reader[6] + "|" + reader[7] + "|" +
                    reader[8] + "|" + reader[9] + "|" + reader[10] + "|" + reader[11] + "|" +
                    reader[12] + "|" + reader[13] + "|" + reader[14] + "|" + reader[15] + Environment.NewLine);
                log.Flush();
            }
        }

是否可以动态重新创建log.write方法中的内容?我想创建一个接受数字的类,并重新创建一个用于write方法的字符串。防爆。我通过4然后它会创建这样的东西。

log.Write(reader[0] + "|" + reader[1] + "|" + reader[2] + "|" + reader[3] + Environment.NewLine);

感谢任何有帮助的人

1 个答案:

答案 0 :(得分:0)

我将Aggregate扩展方法与Take一起使用。例如:

        int n = 4;
        string s = reader.Take(4).Aggregate(string.Empty, (s1, i) => s1 + "|" + i);