[英]C# initializing list
我在哪里可以初始化List以便让其他函数知道它的存在,因此Visual Studio不显示任何错误。 暂时看起来像这样:
namespace ConsoleApplication1
{
public class BazaDanych
{
public class Album
{
public int IDNumber { get; set; }
public string AlbumName { get; set; }
public string Artist { get; set; }
public int ReleaseDate { get; set; }
public int TrackAmount { get; set; }
public string Location { get; set; }
public int Rating { get; set; }
public Album(int _id, string _name, string _artist, int _releasedate, int _trackamount, string _location, int _rating)
{
IDNumber = _id;
AlbumName = _name;
Artist = _artist;
ReleaseDate = _releasedate;
TrackAmount = _trackamount;
Location = _location;
Rating = _rating;
}
}
static int currid = 1;
public void addnew()
{
int ID = currid;
if (ID == 1);
List<Album> AlbumsList = new List<Album>();
//useless for this question
}
public void printlist()
{
foreach ( int i in AlbumsList)
{
Console.WriteLine(i);
}
}
static void Main(string[] args)
{
var db = new BazaDanych();
//useless
db.addnew();
db.addnew();
}
}
} Visual Studio尖叫说AlbumsList在打印功能中不存在。
您在addnew()方法中声明AlbymsList。 这意味着它仅在该方法中可见。 您需要在任何方法之外声明它。
它应该是类成员/属性:
public class BazaDanych
{
private List<Album> AlbumsList = new List<Album>();
....
}
首先,将Album
的类定义BazaDanych
BazaDanych类BazaDanych
,理想情况下为其创建一个单独的类文件,但这也可以工作
namespace ConsoleApplication1
{
public class Album
{
//Album logic
}
public class BazaDanych
{
//Baza logic
}
}
其次,如Amiros所述,将定义从addNew
方法移至类( BazaDanych
)中,并在AddNew
使用此引用
public class BazaDanych
{
private List<Album> AlbumsList = new List<Album>();
public void AddNew()
{
AlbumsList.Add(new Album(...));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.