ImmutableInterlocked.Update 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg) |
透過指定的轉換函數,原地以樂觀鎖定交易語意,突變一個不可變陣列。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。 |
| Update<T,TArg>(T, Func<T,TArg,T>, TArg) |
透過指定的轉換函數,在原地以樂觀鎖定交易語意進行變異。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。 |
| Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>) |
透過指定的轉換函數,原地以樂觀鎖定交易語意,突變一個不可變陣列。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。 |
| Update<T>(T, Func<T,T>) |
透過指定的轉換函數,在原地以樂觀鎖定交易語意進行變異。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。 |
Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg)
透過指定的轉換函數,原地以樂觀鎖定交易語意,突變一個不可變陣列。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。
public:
generic <typename T, typename TArg>
static bool Update(System::Collections::Immutable::ImmutableArray<T> % location, Func<System::Collections::Immutable::ImmutableArray<T>, TArg, System::Collections::Immutable::ImmutableArray<T>> ^ transformer, TArg transformerArgument);
public static bool Update<T,TArg>(ref System.Collections.Immutable.ImmutableArray<T> location, Func<System.Collections.Immutable.ImmutableArray<T>,TArg,System.Collections.Immutable.ImmutableArray<T>> transformer, TArg transformerArgument) where TArg : allows ref struct;
public static bool Update<T,TArg>(ref System.Collections.Immutable.ImmutableArray<T> location, Func<System.Collections.Immutable.ImmutableArray<T>,TArg,System.Collections.Immutable.ImmutableArray<T>> transformer, TArg transformerArgument);
static member Update : ImmutableArray * Func<System.Collections.Immutable.ImmutableArray<'T>, 'Arg, System.Collections.Immutable.ImmutableArray<'T>> * 'Arg -> bool
Public Shared Function Update(Of T, TArg) (ByRef location As ImmutableArray(Of T), transformer As Func(Of ImmutableArray(Of T), TArg, ImmutableArray(Of T)), transformerArgument As TArg) As Boolean
類型參數
- T
不可變陣列中的資料類型。
- TArg
傳入 transformer的論證類型。
參數
- location
- ImmutableArray<T>
不可變陣列要更改。
- transformer
- Func<ImmutableArray<T>,TArg,ImmutableArray<T>>
一個從舊陣列產生新陣列的函式。 此函式應無副作用,因為當與其他執行緒發生競賽時,它可能會多次執行。
- transformerArgument
- TArg
傳 transformer給 的論點。
傳回
true 如果該位置的值是透過套用函式的結果 transformer 而改變; false 如果位置的值因為最後一次呼叫 transformer 回傳了現有的值而保持不變。
適用於
Update<T,TArg>(T, Func<T,TArg,T>, TArg)
透過指定的轉換函數,在原地以樂觀鎖定交易語意進行變異。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。
public:
generic <typename T, typename TArg>
where T : class static bool Update(T % location, Func<T, TArg, T> ^ transformer, TArg transformerArgument);
public static bool Update<T,TArg>(ref T location, Func<T,TArg,T> transformer, TArg transformerArgument) where T : class;
public static bool Update<T,TArg>(ref T location, Func<T,TArg,T> transformer, TArg transformerArgument) where T : class where TArg : allows ref struct;
static member Update : 'T * Func<'T, 'Arg, 'T (requires 'T : null and 'T : null)> * 'Arg -> bool (requires 'T : null)
Public Shared Function Update(Of T As Class, TArg As Class) (ByRef location As T, transformer As Func(Of T, TArg, T), transformerArgument As TArg) As Boolean
類型參數
- T
資料的類型。
- TArg
傳入 transformer的論證類型。
參數
- location
- T
要更改的變數或欄位,可由多個執行緒存取。
- transformer
- Func<T,TArg,T>
一個會改變該值的函數。 此函式應無副作用,因為當與其他執行緒發生競賽時,它可能會多次執行。
- transformerArgument
- TArg
傳 transformer給 的論點。
傳回
true 如果該位置的值是透過套用函式的結果 transformer 而改變; false 如果位置的值因為最後一次呼叫 transformer 回傳了現有的值而保持不變。
適用於
Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>)
透過指定的轉換函數,原地以樂觀鎖定交易語意,突變一個不可變陣列。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。
public:
generic <typename T>
static bool Update(System::Collections::Immutable::ImmutableArray<T> % location, Func<System::Collections::Immutable::ImmutableArray<T>, System::Collections::Immutable::ImmutableArray<T>> ^ transformer);
public static bool Update<T>(ref System.Collections.Immutable.ImmutableArray<T> location, Func<System.Collections.Immutable.ImmutableArray<T>,System.Collections.Immutable.ImmutableArray<T>> transformer);
static member Update : ImmutableArray * Func<System.Collections.Immutable.ImmutableArray<'T>, System.Collections.Immutable.ImmutableArray<'T>> -> bool
Public Shared Function Update(Of T) (ByRef location As ImmutableArray(Of T), transformer As Func(Of ImmutableArray(Of T), ImmutableArray(Of T))) As Boolean
類型參數
- T
不可變陣列中的資料類型。
參數
- location
- ImmutableArray<T>
不可變陣列要更改。
- transformer
- Func<ImmutableArray<T>,ImmutableArray<T>>
一個從舊陣列產生新陣列的函式。 此函式應無副作用,因為當與其他執行緒發生競賽時,它可能會多次執行。
傳回
true 如果該位置的值是透過套用函式的結果 transformer 而改變; false 如果位置的值因為最後一次呼叫 transformer 回傳了現有的值而保持不變。
適用於
Update<T>(T, Func<T,T>)
透過指定的轉換函數,在原地以樂觀鎖定交易語意進行變異。 這個變身會被重複嘗試,直到贏得樂觀的鎖定競賽。
public:
generic <typename T>
where T : class static bool Update(T % location, Func<T, T> ^ transformer);
public static bool Update<T>(ref T location, Func<T,T> transformer) where T : class;
static member Update : 'T * Func<'T, 'T (requires 'T : null and 'T : null)> -> bool (requires 'T : null)
Public Shared Function Update(Of T As Class) (ByRef location As T, transformer As Func(Of T, T)) As Boolean
類型參數
- T
資料的類型。
參數
- location
- T
要更改的變數或欄位,可由多個執行緒存取。
- transformer
- Func<T,T>
一個會改變該值的函數。 此函式應無副作用,因為當與其他執行緒發生競賽時,它可能會多次執行。
傳回
true 如果該位置的值是透過套用函式的結果 transformer 而改變; false 如果位置的值因為最後一次呼叫 transformer 回傳了現有的值而保持不變。