Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#如何将进程结果从列表框写入文本文件_C#_File_Text_Export - Fatal编程技术网

c#如何将进程结果从列表框写入文本文件

c#如何将进程结果从列表框写入文本文件,c#,file,text,export,C#,File,Text,Export,我试图在文本文件中添加x和y数据,比如所有x结果逐行添加,以及x旁边的y结果;40,281516651,1,17956575 . 但是在这种情况下,由于foreach,代码会多次覆盖结果 double z, d, x, k, y; d = double.Parse(textBox1.Text); for (double i = 0; i <= 90; i++) { k = Math.PI / 180;

我试图在文本文件中添加x和y数据,比如所有x结果逐行添加,以及x旁边的y结果;40,281516651,1,17956575 . 但是在这种情况下,由于
foreach
,代码会多次覆盖结果

        double z, d, x, k, y;
        d = double.Parse(textBox1.Text);

        for (double i = 0; i <= 90; i++)
        {
            k = Math.PI / 180;
            z = Math.Tan((i / 2 + 45) * k);
            x = (d / 3.141) * (Math.Sin(Math.PI * i / 180) - Math.Log(z));
            y = d / 3.141 * (Math.Cos((Math.PI * i) / 180) + (3.141 / 2));  
            listBox2.Items.Add(x);
            listBox1.Items.Add(y);
            listBox3.Items.Add(z);
            const string sPath = @"C:\Users\NET\Desktop\deneme.txt";
            StreamWriter SaveFile = new StreamWriter(sPath);   
            foreach (var item in listBox1.Items)
            {
                SaveFile.WriteLine(item);
                foreach (var a in listBox2.Items)
                {
                    SaveFile.WriteLine(a);
                }                     
            }                             
            SaveFile.Close();                        
            }
        }
    }
}
双z,d,x,k,y;
d=double.Parse(textBox1.Text);
对于(双i=0;i
//填写列表框

对于(双i=0;i不要嵌套你的循环,而是一个接一个地嵌套它们:

    for (int i = 0; i <= 90; i++)
    {
        ...
        listBox2.Items.Add(x);
        listBox1.Items.Add(y);
        listBox3.Items.Add(z);
    }
    ...
    foreach (var item in listBox1.Items)
    {
        SaveFile.WriteLine(item);
    }
    foreach (var a in listBox2.Items)
    {
        SaveFile.WriteLine(a);
    }

用于(int i=0;i yout
i
应该是
int
,而不是
double
。请修复您的格式设置、缩进等。我已经将它们分开尝试过了,但是x和y不能并排,我想一行一行地做x结果,在x结果旁边是y结果;409184972938555,176730822130716e-15原因是o将这些x和y结果添加到列表框中,以查看公式是否有效。我的重点是处理x和y变量并将其导出为文本文件,因为导出后我将在solidworks中使用它们。@enigmad87我不明白,它不起作用?!你能举个例子吗?给出
x
y
值和h的范围您希望如何将它们写入文本文件代码不起作用我执行foreach a for循环并将其更改为'i'作为'a'因为我正在使用。更改后的错误是savefile已在使用。抱歉,这是一个语法错误,我将其更改为for循环,不要更改
i
保持原样,您现在可以尝试吗?
    for (int i = 0; i <= 90; i++)
    {
        ...
        listBox2.Items.Add(x);
        listBox1.Items.Add(y);
        listBox3.Items.Add(z);
    }
    ...
    foreach (var item in listBox1.Items)
    {
        SaveFile.WriteLine(item);
    }
    foreach (var a in listBox2.Items)
    {
        SaveFile.WriteLine(a);
    }