如何在c#中的结构内部使用字符数组?

如何在c#中的结构内部使用字符数组?,c#,C#,我试图在struct Books中实现char数组。我已经在结构中声明了char数组public char[]b_id=new char[3]。现在我想访问b_id并初始化一些值。怎样才能做到呢。有什么建议吗? 这是我现在的密码 namespace @struct { struct Books { public string title; public char[] b_id = new char[3]; }; class Program

我试图在struct Books中实现char数组。我已经在结构中声明了char数组public char[]b_id=new char[3]。现在我想访问b_id并初始化一些值。怎样才能做到呢。有什么建议吗? 这是我现在的密码

namespace @struct
{
   struct Books
    {
        public string title;
        public char[] b_id = new char[3];
    };  
class Program
{

    static void Main(string[] args)
    {

        Books Book1;        /* Declare Book1 of type Book */

       /* book 1 specification */
        Book1.title = "C Programming";


        /* print Book1 info */
        Console.WriteLine("Book 1 title : {0}", Book1.title);

        Console.ReadKey();

    }
}
}

在结构中不能有实例字段初始值设定项(即编译器不允许您直接在Books结构中初始化b_id char数组)。 如果您执行以下操作,您的程序应该可以运行:

struct Books
{
   public string title;
   public char[] b_id;
};

void Main()
{

   Books book1;        /* Declare Book1 of type Book */
   book1.b_id = new char[3] {'a', 'b', 'c'};

   /* book 1 specification */
   book1.title = "C Programming";

   /* print Book1 info */
   Console.WriteLine("Book 1 title : {0}", book1.title);
   Console.WriteLine("Book att : {0}", book1.b_id[0]);

 }

您在以显而易见的方式访问它时遇到了哪些问题?你犯了什么错误?(暂且不提这里有一个可变结构:)为什么要使用可变结构和公共字段?如果可能的话,我会避免这样做。不清楚您是否应该首先使用struct。。。请提供更多关于您为什么这样做的信息。。。(我强烈建议不要使用一个名称空间,它也是一个关键字…)潜在的欺骗:一个正确的答案,一个负面的分数?我猜投下反对票的人往往懒得解释他们投下的反对票……是的,我也很惊讶。即使问题并不总是最好的,我认为用户可以对那些试图学习如何编程的人更宽容一点