我想知道如何在struct中正确创建一个数组。
public struct Actor
{
public int number; //size of arrays
public string[] filmList;
public int[] year;
public string[] studio;
}
并从函数中插入数据
public void Inserting(out Actor David) {
David.number = 4;
David.filmlist[0] = "bla bla";
David.year[0] = 1989;
David.studio[0] = "Pix";
// David.filmlist[1].......
}
发布于 2018-09-17 15:50:08
您应该在使用前初始化数组:
public struct Actor
{
private string[] _filmList;
private int[] _year;
private string[] _studio;
public int Number; //size of arrays
public string[] FilmList
{
get => _filmList ?? (_filmList = new string[Number]);
set => _filmList = value;
}
public int[] Year
{
get => _year ?? (_year = new int[Number]);
set => _year = value;
}
public string[] Studio
{
get => _studio ?? (_studio = new string[Number]);
set => _studio = value;
}
}
public static void Inserting(out Actor David)
{
David = new Actor
{
Number = 4,
FilmList = {[0] = "bla bla"},
Year = {[0] = 1989},
Studio = {[0] = "Pix"}
};
}
static void Main(string[] args)
{
Actor a;
Inserting(out a);
Console.Read();
}
https://stackoverflow.com/questions/-100002655
复制相似问题