ConditionalWeakTable<TKey,TValue>.GetOrAdd 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| Name | Description |
|---|---|
| GetOrAdd(TKey, Func<TKey,TValue>) |
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 제공된 팩터리를 호출하여 지정된 키에 바인딩된 값을 만듭니다. |
| GetOrAdd(TKey, TValue) |
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 지정된 값을 추가하고 지정된 키에 바인딩합니다. |
| GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) |
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 제공된 팩터리를 호출하여 지정된 키에 바인딩된 값을 만듭니다. |
GetOrAdd(TKey, Func<TKey,TValue>)
- Source:
- ConditionalWeakTable.cs
- Source:
- ConditionalWeakTable.cs
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 제공된 팩터리를 호출하여 지정된 키에 바인딩된 값을 만듭니다.
public:
TValue GetOrAdd(TKey key, Func<TKey, TValue> ^ valueFactory);
public TValue GetOrAdd(TKey key, Func<TKey,TValue> valueFactory);
member this.GetOrAdd : 'Key * Func<'Key, 'Value (requires 'Key : null and 'Value : null)> -> 'Value
Public Function GetOrAdd (key As TKey, valueFactory As Func(Of TKey, TValue)) As TValue
매개 변수
- key
- TKey
찾을 값의 키입니다.
null수 없습니다.
- valueFactory
- Func<TKey,TValue>
키가 아직 없는 경우 키 값을 만드는 콜백입니다.
null수 없습니다.
반품
메서드가 완료된 후 현재 ConditionalWeakTable<TKey,TValue> 인스턴스에 바인딩된 TKey 값입니다.
예외
key 또는 valueFactory .입니다 null.
설명
여러 스레드가 동일한 키를 초기화하려고 하면 테이블이 동일한 키를 사용하여 여러 번 호출 valueFactory 할 수 있습니다. 정확히 이러한 호출 중 하나가 성공하고 해당 호출의 반환 값은 테이블에 추가되고 모든 레이싱 GetOrAdd(TKey, Func<TKey,TValue>) 호출에서 반환되는 호출입니다. 이 규칙은 교착 상태를 방지하기 위해 테이블이 내부 테이블 잠금 외부에서 호출 valueFactory 되도록 허용합니다.
적용 대상
GetOrAdd(TKey, TValue)
- Source:
- ConditionalWeakTable.cs
- Source:
- ConditionalWeakTable.cs
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 지정된 값을 추가하고 지정된 키에 바인딩합니다.
public:
TValue GetOrAdd(TKey key, TValue value);
public TValue GetOrAdd(TKey key, TValue value);
member this.GetOrAdd : 'Key * 'Value -> 'Value
Public Function GetOrAdd (key As TKey, value As TValue) As TValue
매개 변수
- key
- TKey
찾을 값의 키입니다.
null수 없습니다.
- value
- TValue
추가 및 바인딩할 TKey값입니다(아직 없는 경우).
반품
메서드가 완료된 후 현재 ConditionalWeakTable<TKey,TValue> 인스턴스에 바인딩된 TKey 값입니다.
예외
key은 null입니다.
적용 대상
GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg)
- Source:
- ConditionalWeakTable.cs
- Source:
- ConditionalWeakTable.cs
테이블에서 지정된 키를 검색하고 해당 값을 반환합니다. 테이블에 키가 없으면 메서드는 제공된 팩터리를 호출하여 지정된 키에 바인딩된 값을 만듭니다.
public:
generic <typename TArg>
TValue GetOrAdd(TKey key, Func<TKey, TArg, TValue> ^ valueFactory, TArg factoryArgument);
public TValue GetOrAdd<TArg>(TKey key, Func<TKey,TArg,TValue> valueFactory, TArg factoryArgument) where TArg : allows ref struct;
member this.GetOrAdd : 'Key * Func<'Key, 'Arg, 'Value (requires 'Key : null and 'Value : null)> * 'Arg -> 'Value
Public Function GetOrAdd(Of TArg) (key As TKey, valueFactory As Func(Of TKey, TArg, TValue), factoryArgument As TArg) As TValue
형식 매개 변수
- TArg
값 팩터리에 사용할 추가 인수의 형식입니다.
매개 변수
- key
- TKey
찾을 값의 키입니다.
null수 없습니다.
- valueFactory
- Func<TKey,TArg,TValue>
키가 아직 없는 경우 키 값을 만드는 콜백입니다.
null수 없습니다.
- factoryArgument
- TArg
호출 시 제공할 valueFactory 추가 인수입니다.
반품
메서드가 완료된 후 현재 ConditionalWeakTable<TKey,TValue> 인스턴스에 바인딩된 TKey 값입니다.
예외
key 또는 valueFactory .입니다 null.
설명
여러 스레드가 동일한 키를 초기화하려고 하면 테이블이 동일한 키를 사용하여 여러 번 호출 valueFactory 할 수 있습니다. 정확히 이러한 호출 중 하나가 성공하고 해당 호출의 반환 값은 테이블에 추가되고 모든 레이싱 GetOrAdd<TArg>(TKey, Func<TKey,TArg,TValue>, TArg) 호출에서 반환되는 호출입니다. 이 규칙은 교착 상태를 방지하기 위해 테이블이 내부 테이블 잠금 외부에서 호출 valueFactory 되도록 허용합니다.