如何在 C# 中访问结构中的函数

本文关键字:结构 函数 访问 | 更新日期: 2023-09-27 18:33:02

class Program
{ 
   public  struct course
   {
        public string name;
        public int elecode;
        public int credit;

        public static void getdetails()
        {
            Console.WriteLine("Enter your Name");
           Ele.name = Console.ReadLine();
        }
   }
    static void Main(string[] args)
    {
        course ele;
        ele.getdetails();
    }
}

如何在 C# 中访问结构中的函数

  1. 您的方法getdetails不应是静态的
  2. 去除getdetails内的Ele.
  3. 初始化变量course ele

您的代码:

class Program
{ 
   public  struct course
   {
        public string name;
        public void getdetails()
        {
            Console.WriteLine("Enter your Name");
            name = Console.ReadLine();
        }
   }
    static void Main(string[] args)
    {    
        course ele = new course();
        ele.getdetails();
    }
}

正如@DavidHeffernan在关于糟糕设计的评论中提到的,当值类型为您提供值的副本时,您必须知道在哪里使用class而不是struct来逃避问题。

不能用实例调用静态方法。你有静态方法,所以用结构调用它,而不是用结构的实例调用它。

course.getdetails();

静态成员在类上是可调用的,即使没有实例 类已创建。静态成员始终由 类名,而不是实例名

有关静态的详细信息,请参阅此 MSDN 文章静态类和静态类成员(C# 编程指南)。