我正在嘗試製作一個程序,該程序同時顯示用戶輸入並寫入到同一用戶輸入數據的文本文件中的文本。我試過包裹與Task.Run代碼:如何寫入C#文件
private void button_Click(object sender, RoutedEventArgs e)
{
show.Text = inputText.Text;
//Debug.WriteLine(check1_cont.ToString());
//Debug.WriteLine(check2_cont.ToString());
if (check1_cont && check2_cont == true)
{
show2.Text = inputText.Text;
Task.Run(() => File.WriteAllText(@"A:\temp\name.txt", inputText.Text));
}
}
但我的第二個文本(一個if語句)後得到一個異常錯誤,當我按下按鈕:
An exception of type 'System.Exception' occurred in normieap.exe but
was not handled in user code
Additional information: The application called an interface that was
marshalled for a different thread. (Exception from HRESULT: 0x8001010E
(RPC_E_WRONG_THREAD))
我嘗試使用的StreamWriter:
private void button_Click(object sender, RoutedEventArgs e)
{
show.Text = inputText.Text;
//Debug.WriteLine(check1_cont.ToString());
//Debug.WriteLine(check2_cont.ToString());
if (check1_cont && check2_cont == true)
{
show2.Text = inputText.Text;
using (StreamWriter writer = new StreamWriter(@"A:\temp\name.txt"))
{
writer.WriteLine(inputText.Text);
}
}
}
,但我得到就行了一個錯誤:
using (StreamWriter writer = new StreamWriter(@"A:\temp\name.txt"))
因爲'@「A:\ temp \ name.txt''不能從'字符串'轉換爲'System.IO.Stream'
而當我嘗試沒有任何包裝的普通方式時,我得到一個同步錯誤。任何解決這個問題的方法都將非常感激。
請提供一個MCVE(http://stackoverflow.com/help/mcve)來演示此問題。你的例子引入了不相關的信息(比如'show.Text'和'show2.Text',它們在代碼中沒有用到)。你需要提供一個清楚的例子,說明你正在嘗試做什麼,而沒有所有其他混亂對於手頭的問題毫無意義。 –
驅動器A和B用於軟盤,您需要先更改驅動器 –
我將驅動器A分配給了我的輔助硬盤驅動器。 – Yetoo