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

我做错了什么??

请帮帮我,任何帮助都将不胜感激。

won';类中的数据类型变量列表;无法更新

添加到列表中的方式应该有效,我认为它确实有效,但问题是,当您绘制字符串时,您可以:

  1. 在屏幕外绘制位置:检查vector_mouse中的值
  2. 您正在绘制白色文本。背景对比度够吗

如果确实调用了该方法,并且列表中没有值,则可以说该方法不起作用。您可以使用调试器进行确认,在foreach(字符串…)之前设置一个断点

此外,如果你不使用缩放,旋转,正如我从你的参数中看到的那样,你可以使用DrawString方法的重载:DrawString(SpriteFont,string,Vector2,Color)

最后,如果List字段是公共的,为什么要在单独的方法中公开add功能?除非将来封装会发生变化,否则这是没有必要的。

您到底是如何遍历列表的?需要查看打印List对象中元素的代码。