共用方式為


TimelineMarkerCollection 類別

定義

表示 TimelineMarker 物件的集合,這些物件可由索引個別存取。 TimelineMarkerCollection 是已排序的清單,其順序是由集合中每個 TimelineMarker 項目的時間值所決定。 如需這如何影響集合 API 的詳細資訊,請參閱。

public ref class TimelineMarkerCollection sealed : IIterable<TimelineMarker ^>, IVector<TimelineMarker ^>
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class TimelineMarkerCollection final : IIterable<TimelineMarker>, IVector<TimelineMarker>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class TimelineMarkerCollection final : IIterable<TimelineMarker>, IVector<TimelineMarker>
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class TimelineMarkerCollection : IEnumerable<TimelineMarker>, IList<TimelineMarker>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class TimelineMarkerCollection : IEnumerable<TimelineMarker>, IList<TimelineMarker>
Public NotInheritable Class TimelineMarkerCollection
Implements IEnumerable(Of TimelineMarker), IList(Of TimelineMarker)
繼承
Object Platform::Object IInspectable TimelineMarkerCollection
屬性
實作

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

備註

TimelineMarkerCollection 的集合 API

TimelineMarkerCollection 是已排序的清單,其順序是由集合中每個 TimelineMarker 項目的時間值所決定。 TimelineMarkerCollection 的集合 API 會在內部處理新增至集合的每個新專案,並將它新增至索引位置,以對應至集合中所有 TimelineMarker 專案之所有 Time 值的更新順序。

讓 TimelineMarkerCollection 一律維持以時間為基礎的順序,因此列舉/逐一查看集合會依對應到所播放之媒體資產的 Position 順序,以及 MarkerReached 事件引發的順序,提供 TimelineMarker 值。 否則,如果集合不是 時間排序,則必須先依使用前的時間排序集合。

  • 如果您針對 C++) 呼叫 Append (,專案可能會新增至已排序列表的開頭、中間或結尾,視您要新增的 TimelineMarker的時間值而定
  • 如果您針對 C++ 呼叫 InsertAt (,則會忽略 索引 參數) 。 TimelineMarker 專案會加入索引位置,以依 Time 值維護集合的順序。
  • 如果您使用適用於 C++) 的 GetAt 方法 (來讀取值,則索引會根據內部邏輯新增專案的方式正確。 但是,由於您並未直接控制該邏輯,所以最好使用適用於 C++ 的 IndexOf (,) 在已排序列表中尋找特定的 TimelineMarker
  • 如果您使用適用於 C) ++ 的 SetAt 方法 (來設定值,您將會刪除先前在該索引處的值,但集合會自行重新排序以維護 Time 值順序,因此您新增的新 TimelineMarker 可能不在您設定的索引中。 這可能是個好主意,因為您不會確定哪些專案已刪除。 我們建議您不要使用索引器來設定值。
  • RemoveAt 會移除指定的索引專案,但當集合索引移位剩餘 的 Time 值時,不會移除可能重複的專案。 我們建議您不要使用 RemoveAt

列舉 C# 或 Microsoft Visual Basic 中的集合

TimelineMarkerCollection 是可列舉的,因此您可以使用 C# 中的 foreach 等語言特定語法來列舉集合中的專案。 編譯程式會為您執行型別轉換,而且您不需要明確地轉換成 IEnumerable<TimelineMarker> 。 如果您需要明確轉換,例如,如果您想要呼叫 GetEnumerator,請使用 TimelineMarker 條件約束轉換成 IEnumerable<T>

建構函式

TimelineMarkerCollection()

初始化 TimelineMarkerCollection 類別的新實例。

屬性

Size

取得集合的大小 (計數) 。

方法

Append(TimelineMarker)

將新項目加入至集合中。

Clear()

移除集合的所有項目。

First()

傳回集合中專案的反覆運算器。

GetAt(UInt32)

傳回位於指定索引處的專案。

GetMany(UInt32, TimelineMarker[])

擷取單一傳遞反覆運算器中的多個元素。

GetView()

取得集合中的不可變檢視。

IndexOf(TimelineMarker, UInt32)

擷取指定專案的索引。

InsertAt(UInt32, TimelineMarker)

插入指定的專案。

RemoveAt(UInt32)

移除指定之索引處的項目。

RemoveAtEnd()

拿掉集合中的最後一個專案。

ReplaceAll(TimelineMarker[])

一開始清除集合,然後將提供的數位插入為新專案。

SetAt(UInt32, TimelineMarker)

將位於指定索引處的值設定為指定的 TimelineMarker 值。

適用於

另請參閱