C# 中是否有类似于 C 的 int main() 的 main 方法?

Is there a main method in C# analogous to C's int main()?

我是 C sharp 的新手,正在编写一个从串口读取数据的程序。我习惯于用 C 语言编写并且无可否认地没有太多面向对象语言的经验。我想要一段代码 运行 打开串口而无需调用,即。它会 运行 就好像它在 C 中的 int main() 中一样。我有下面的代码来尝试找出我的问题。

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;

namespace Nav_Monitor
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void t_tick(object sender, EventArgs e)
        {
            textBox1.Text += Environment.NewLine;
            textBox1.Text += DateTime.Now.ToString("hh:mm:ss tt");
        }

        SerialPort serialPort;
        private void openSerialPort(object sender, EventArgs e)
        {
            serialPort = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
            serialPort.Handshake = Handshake.None;
        }

    }
}

如果我将代码移到方法 openSerialPort 之外,则会收到错误 'the name "serialPort" does not exist in the current context'。

        serialPort = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
        serialPort.Handshake = Handshake.None;

        private void openSerialPort(object sender, EventArgs e)
        {

        }

那么我是否需要类似于 C 中 main() 的东西来自动 运行 代码?我似乎不应该将代码放在我的 program.cs 文件中,这似乎是类似的地方。我迷路了!

最类似的方法其实在Program.cs里面。 Main() 是 C# 应用程序的入口点。但是,您可能会考虑在页面加载后或在构造函数中启动任何后台工作(如果工作是非阻塞的并且可以在后台 运行。

我看到你在 Windows 表单中工作,其中 Form.Load 事件可能是打开串口的好地方。