C#将数组元素按行保存到txt文件中,请大家帮忙解答一下

素拍黄瓜 2016-04-08 08:45:39
 private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
string[,] output = new string[3,3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
output[i, j] = Convert.ToString(coordinate[i,j]);
}
}

saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName,true);
sw.WriteLine(output);
sw.Close();
}

}

coordinate[i,j]是需要保存的坐标数据,运行结果只有这个
请各位大神帮忙给点建议,在此谢过
...全文
617 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_45203339 2019-06-08
  • 打赏
  • 举报
回复
为什么我看不到回复啊,着急
素拍黄瓜 2016-04-08
  • 打赏
  • 举报
回复
谢谢两位的帮助,问题已经解决了
素拍黄瓜 2016-04-08
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
怎么遍历添加的,怎么遍历保存。
小弟还是个菜鸟,能否举个例子,我是将datagridview中的数据写到coordinate数组中的,这是代码
public double[,] coordinate;
        private void button2_Click_1(object sender, EventArgs e)
        {
            int row = dataGridView1.RowCount - 1;//dataGridView1.RowCount获取的行数是从列标题所在行开始算起,起始值为1
            int column = dataGridView1.ColumnCount - 1;
            coordinate = new double[row, column];
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < column; j++)
                {
                    coordinate[i, j] = Convert.ToDouble(dataGridView1[j + 1, i].Value.ToString());//dataGridView1[j + 1, i]第一个数值代表列数,从0开始
                }
            }
劳烦大神了
素拍黄瓜 2016-04-08
  • 打赏
  • 举报
回复
引用 2 楼 fxj805835819 的回复:
output[i, j] = Convert.ToString(coordinate[i,j]);这边不是数组赋值,这边直接降数组取出写到string变量就可以了,然后按照自己需要的格式拼接,再写到txt里就可以了
我刚才试了一下,数据是写进去了,但是还有点问题
string output;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
output = Convert.ToString(coordinate[i,j]);
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
sw.Write(output + "");
sw.Close();
}
}

}
问题出在这个地方 sw.Close();,相当于每次循环都会显示这个对话框
而且是一列数据,我还是个菜鸟,劳烦高手了
範先森 2016-04-08
  • 打赏
  • 举报
回复
你这个数组赋值完全没有必要的,真的这样赋值一遍还不如直接打印coordinate[]好了,对吧
範先森 2016-04-08
  • 打赏
  • 举报
回复
output[i, j] = Convert.ToString(coordinate[i,j]);这边不是数组赋值,这边直接降数组取出写到string变量就可以了,然后按照自己需要的格式拼接,再写到txt里就可以了
全栈极简 2016-04-08
  • 打赏
  • 举报
回复
怎么遍历添加的,怎么遍历保存。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧