won';类中的数据类型变量列表;无法更新
本文关键字:列表 类型变量 数据 更新 won | 更新日期: 2023-09-27 18:25:55
我创建了一个以List为属性的类这是代码
public class ScreenEventNTF
{
//property
public List<string> list_event_string { get; set; }
//constructor
public ScreenEventNTF(blah blah)
{
list_event_string = new List<string>();
}
// the not-working method
public void AddToStringTodraw(string string_inp)
{
list_event_string.Add(string_inp);
}
}
在主课上,我做了一些类似的事情
ScreenEventNTF notifier = new ScreenEventNTF(blah blah);
notifier.AddToStringTodraw("Fabulous");
我试着在notifier.list_event_string中写入所有字符串,但似乎没有在列表中存储任何值
这是根据coments的代码。
foreach (string text in notifier.list_event_string)
spriteBatch.DrawString(font_test, text ,
vector_mouse, Color.White, 0f, Vector2.Zero, 1.0f, SpriteEffects.None, 1.0f);
我做错了什么??
请帮帮我,任何帮助都将不胜感激。
添加到列表中的方式应该有效,我认为它确实有效,但问题是,当您绘制字符串时,您可以:
- 在屏幕外绘制位置:检查vector_mouse中的值
- 您正在绘制白色文本。背景对比度够吗
如果确实调用了该方法,并且列表中没有值,则可以说该方法不起作用。您可以使用调试器进行确认,在foreach(字符串…)之前设置一个断点
此外,如果你不使用缩放,旋转,正如我从你的参数中看到的那样,你可以使用DrawString方法的重载:DrawString(SpriteFont,string,Vector2,Color)
最后,如果List字段是公共的,为什么要在单独的方法中公开add功能?除非将来封装会发生变化,否则这是没有必要的。
您到底是如何遍历列表的?需要查看打印List对象中元素的代码。