cuốn sách gpt4 ai đã làm

Đọc và ghi C# TextFile kết thúc ở giữa

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 23:23:08 28 4
mua khóa gpt4 Nike

Tôi chạy một phương thức có ba phần, phần 1 và phần 3 đều là "đọc tệp văn bản",

Phần thứ hai là lưu chuỗi vào một tệp văn bản,

// Save Path là đường dẫn của file văn bản, dùng để đọc và lưu
// Encode có thể sử dụng Encoding.Default
public static async void SaveTextFile(chuỗi StrToSave, chuỗi SavePath, Encoding ENCODE)
{
//Phần 1
thử
{
sử dụng (StreamReader sr = new StreamReader(SavePath, ENCODE))
{
kết quả chuỗi = "";
while (sr.EndOfStream != true)
result = result + sr.ReadLine() + "\n";

MessageBox.Show(kết quả);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}

// Part2
thử
{
sử dụng (FileStream fs = new FileStream(SavePath, FileMode.Create))
{
sử dụng (StreamWriter sw = new StreamWriter(fs, ENCODE))
{
đang chờ sw.WriteAsync(StrToSave);
đang chờ sw.FlushAsync();
sw.Close();
}
MessageBox.Show("Save");
fs.Close();
}
}

// Cuộc chạy kết thúc ở đây và không tiếp tục đến phần 3

catch (Exception e)
{
Console.WriteLine(e);
}

//Phần 3
thử
{
sử dụng (StreamReader sr = new StreamReader(SavePath, ENCODE))
{
kết quả chuỗi = "";
while (sr.EndOfStream != true)
result = result + sr.ReadLine() + "\n";

MessageBox.Show(kết quả);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}

Nhưng tôi thấy lạ là quá trình này kết thúc khi phần 2 hoàn thành và kết thúc ngay ở phần 3 mà không tiếp tục.

Lý do cho điều này là gì? Quy trình chung phải xuyên suốt toàn bộ phương pháp nhưng không nên dừng giữa chừng

(Thêm một câu hỏi nữa) Có cách nào khác để đạt được mục đích của phần 2 và tiếp tục phần 3 để hoàn thành toàn bộ phương pháp không?

câu trả lời hay nhất

Điều này có thể là do bạn đang viết một phương thức async void và bạn đang gọi một số phương thức async từ Phần 2. Hãy thử thay đổi phương thức async ở phần 2 thành phương thức không đồng bộ:

sử dụng (StreamWriter sw = new StreamWriter(fs, ENCODE))
{
sw.Write(StrToSave);
sw.Flush(); // Không đồng bộ
sw.Close(); // Không đồng bộ
}

Bây giờ nó có hoạt động như bạn mong đợi không?

Về việc C# đọc và ghi TextFile kết thúc ở giữa, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/34667875/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress