如何在C#中访问struct内部的函数

zoh*_*ent 5 c#

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();

    }
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*ael 5

  1. 你的方法getdetails不应该是静态的
  2. 取出Ele.里面getdetails
  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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 通过方法调用改变结构是糟糕的设计 (3认同)