簡體   English   中英

如何安排預建模板的列表? (安慰)

[英]How do I arrange a list to a pre-built templates? (Console)

我有一個通用名稱列表,其名稱取決於用戶選擇的名稱。 我想在用戶之前輸入的時間范圍內排列這些名稱。 例如:我們有3個名稱,用戶輸入08:00-17:00。 從08:00-17:00,我們有9個小時-> 9/3 = 3,因此將名稱安排在3個小時的模板中。

它在代碼中的外觀如下:

List<string> myList = new List<string>();
myList.Add(Name1);
myList.Add(Name2);
myList.Add(Name3);

Console.WriteLine("Enter hours range: ");
Console.ReadLine(); //in this case the user input is 08:00-17:00

if (myList.Count == 3)
{
    Console.WriteLine("8-11 " + myList.ElementAt(0)); //Name1
    Console.WriteLine("11-14 " + myList.ElementAt(1)); //Name2
    Console.WriteLine("14-17 " + myList.ElementAt(2)); //Name3
}

問題來了,當名稱超過3個並且時間減半時(比如說17:30)。

關於如何做這種事情的任何想法?

你可以做類似的事情

private static void CalculateTimeIntervals()
    {
        var startTime = new DateTime(2014, 8, 15, 8, 0, 0);
        var endTime = new DateTime(2014, 8, 15, 17, 0, 0);
        var lengthOfTime = endTime - startTime;
        var numberOfPeople = 4;
        var dividedLengthOfTime = lengthOfTime.Ticks / numberOfPeople;
        var people = new List<Person>();

        for (int i = 1; i <= numberOfPeople; i++)
        {
            people.Add(
                new Person
                {
                    Id = i,
                    StartTime = startTime.AddTicks((dividedLengthOfTime * i) - dividedLengthOfTime),
                    EndTime = startTime.AddTicks(dividedLengthOfTime * i)
                });
        }
    }

人的樣子

public class Person
{
    public int Id { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM