C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■97143 / 1階層)  ArrayList内の検索
□投稿者/ 魔界の仮面弁士 (3041回)-(2021/04/06(Tue) 11:07:28)
2021/04/06(Tue) 11:20:22 編集(投稿者)

No97142 (コーヒー使い さん) に返信
> 日付を格納したArrayList内に、今日の日付のより前の日付があるかどうかを判定したいです。
新規開発での System.Collections.ArrayList の利用は推奨されていません。
代わりに、System.Collections.Generic.List(Of ) の利用を検討してみてください。
https://docs.microsoft.com/en-us/dotnet/api/system.collections.arraylist#remarks:~:text=Important


> Containsメソッドを使えば、固定値であれば検出できるのですが、
> 検索対象日付が不特定の場合、どのようにしてArrayList内の日付と今日の日付を比較すればいいのでしょうか?
ArrayList に格納している日付の型は何でしょう。
Date ですか? それとも String でしょうか?

たとえば Date 型なのであれば
 Dim t As Date = Today
 If yourArrayList.OfType(Of Date)().Any(Function(d) d < t) Then
  '★
 End If
もしくは
 Dim t As Date = Today
 Dim past() As Date = yourArrayList.OfType(Of Date)().Where(Function(d) d < t).ToArray()
 If past.Length > 0 Then
  '★
 End If
あるいはループ判定で
 Dim t As Date = Today
 Dim hasPast As Boolean = False
 For Each d As Date In yourArrayList
  If d < t Then
   hasPast = True
   Exit For
  End If
 Next
 If hasPast Then
  '★
 End If
のように書けます。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←ArrayList内の検索 /コーヒー使い 返信無し
 
上記関連ツリー

ArrayList内の検索 / コーヒー使い (21/04/06(Tue) 10:52) #97142
ArrayList内の検索 / 魔界の仮面弁士 (21/04/06(Tue) 11:07) #97143 ←Now

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信