User Tools

Site Tools


Action disabled: revisions
blog:2025-04-07-001



2025-04-07 排序好的時間List中找尋比輸入大的時間並回傳

  • Require: C# List<DateTime> gScheduleTimeList 中有一排序好的時間List,格式為 HH:mm:ss,現有一DateTime para_ScheduleTime 格式為HH:mm:ss要查詢於ListBox中比此輸入大的時間並回傳,若沒有比這個輸入的para_ScheduleTime於ListBox中,則取出於ListBox最小的時間

AI Answer

  • 你可以使用 LINQ 來查詢 gScheduleTimeList 中比 para_ScheduleTime 大的時間,並且如果沒有找到,則返回最小的時間。以下是一個示範的 C# 程式碼,展示了如何實現這一功能:
  • using System;
    using System.Collections.Generic;
    using System.Linq;
    
    class Program
    {
        static void Main()
        {
            // 假設 gScheduleTimeList 是一個已排序的 DateTime List
            List<DateTime> gScheduleTimeList = new List<DateTime>
            {
                DateTime.Parse("08:00:00"),
                DateTime.Parse("09:30:00"),
                DateTime.Parse("10:15:00"),
                DateTime.Parse("12:00:00"),
                DateTime.Parse("14:30:00")
            };
    
            // 假設 para_ScheduleTime 是用戶輸入的時間
            DateTime para_ScheduleTime = DateTime.Parse("10:00:00");
    
            // 查詢比 para_ScheduleTime 大的時間
            var largerTimes = gScheduleTimeList.Where(t => t.TimeOfDay > para_ScheduleTime.TimeOfDay).ToList();
    
            DateTime result;
            if (largerTimes.Any())
            {
                // 如果找到比 para_ScheduleTime 大的時間,取出第一個
                result = largerTimes.First();
            }
            else
            {
                // 否則取出最小的時間
                result = gScheduleTimeList.Min();
            }
    
            // 輸出結果
            Console.WriteLine($"結果時間: {result.ToString("HH:mm:ss")}");
        }
    }

程式碼解釋

  • 建立時間列表:gScheduleTimeList 是一個包含多個 DateTime 的已排序列表。
  • 用戶輸入的時間:para_ScheduleTime 是用戶輸入的時間。
  • 查詢比輸入時間大的時間:
  • 使用 LINQ 的 Where 方法過濾出比 para_ScheduleTime 大的時間。

判斷結果:

  • 如果找到比 para_ScheduleTime 大的時間,取出第一個(最小的)。
  • 如果沒有找到,則取出 gScheduleTimeList 中的最小時間。
  • 顯示結果:最後將結果以 HH:mm:ss 格式輸出。

TAGS

  • 1 person(s) visited this page until now.

blog/2025-04-07-001.txt · Last modified: 2025/04/07 17:34 by jethro