【问题标题】:Writing data in a loop or otherwise在循环或其他方式中写入数据
【发布时间】:2022-01-08 15:44:12
【问题描述】:

也许我有一个小问题要问你。我正在编写一个 Xamarin.Android 应用程序。准确的说是日历。我有一个给定类的 String [] 列表。我为每个月和每天写了这样的数据:

 // January
 JavaList<Class_Event> fullList; fullList = new JavaList<Class_Event>();
 fullList.Add(new Class_Event(new DateTime(2022, 01, 1, 10, 0, 0), new DateTime(2022, 01, 1, 12, 0, 0), AppResources.ResourceManager.GetString("ev_01_01_2022"), Color.WhiteSmoke));

 ...

 fullList.Add(new Class_Event(new DateTime(2022, 01, 31, 10, 0, 0), new DateTime(2022, 01, 31, 12, 0, 0), AppResources.ResourceManager.GetString("ev_31_01_2022"), Color.WhiteSmoke));
 return fullList;

这就是我的班级的样子:

class Class_Event
{
    DateTime startTime;
    DateTime endTime;
    string subject;
    Color robe_color;

    public Class_Event(DateTime StartTime, DateTime EndTime, string Subject, Color Robe_Color)
    {
        this.startTime = StartTime;
        this.endTime = EndTime;
        this.subject = Subject;
        this.robe_color = Robe_Color;
    }


    public DateTime StartTime
    {
        get { return startTime; }
    }
    public DateTime EndTime
    {
        get { return endTime; }
    }
    public string Subject
    {
        get { return subject; }
    }       
    public Color Robe_Color
    {
        get { return robe_color; }
    } 

不幸的是,列出一年中的所有 365 天是相当乏味的。你觉得怎么样。您可以将这些数据保存在循环中或使用其他东西吗?对我来说,尝试在循环中写入这些数据是为了代替添加事件颜色。我为我的写作感到抱歉。我用谷歌翻译:)

【问题讨论】:

    标签: c# android xamarin events calendar


    【解决方案1】:

    你应该可以做这样的事情

    DateTime first = new DateTime(2022, 01, 1, 10, 0, 0);
    
    for (var ndx = 0; ndx < 365; ndx++)
    {
       var start = first.AddDays(ndx);
       var end = start.AddHours(2);
       var desc = AppResources.ResourceManager.GetString($"ev_{start.Month}_{start.Day}_{start.Year}")
    
       var class = new Class_Event(start, end, desc, Color.WhiteSmoke);
       fullList.Add(class);
    }
    

    【讨论】:

    • 我以与您提供的示例类似的方式记录了这些数据。但是每天都有一种颜色。有些在重复,有些则没有。怎么写出来?例如使用开关(ndx)功能?
    • 您发布的示例两天都使用相同的颜色。是什么决定了哪种颜色适用于哪些日子?它只是一周中的一天吗?
    • 对不起。事实上,这两个日子的颜色相同,但通常颜色会随着月份的不同而变化。
    • 那么你需要编写一个函数,根据月份的日期返回颜色。
    • 好的谢谢帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    相关资源
    最近更新 更多