The C# equivalent

本文关键字:equivalent The | 更新日期: 2023-09-27 18:05:07

我试图关闭程序:htcntl .exe,如果用户单击退出该程序。我有以下Borland c++代码。c#的等效是什么?

FILE *sf;
AnsiString ClosePollControl = AnsiString("HHT")+cbHHTNo->Text+AnsiString(".cls");
sf = fopen(ClosePollControl.c_str(),"w");
fclose(sf);

The C# equivalent

您正在打开文件进行写入。假设cbHHTNo是包含文件名的string,在c#中它将是这样的:

var path = "HHT" + cbHHTNo + ".cls";
using (var file = File.OpenWrite(path))
{
    // do sth with the open file stream here
}

其实很简单。

在c#中没有AnsiString的概念,所以你必须使用string

string ClosePollControl = "HHT" + cbHHTNo->Text + ".cls";
// Open the stream and write to it.
using (FileStream fs = File.OpenWrite(ClosePollControl)) 
{
}

这假设你有一些用户级别的控制,cbHHTNo,你得到Text(例如string)。

如果您试图关闭进程,则使用System.Diagnostics.Process类。例如,

Process process = Process.GetProcessesByName("HHTCntrl.exe").FirstOrDefault();
if (process != null)
{
     process.Kill(); // to immediatelly kill the process or use process.CloseMainWindow() to gracefully "kill" the process
}

如果你想关闭一个活动的窗体使用close()方法