gpt4 book ai didi

c# - 字典 TryGetValue 输出参数

转载 作者:行者123 更新时间:2023-12-04 10:41:55 27 4
gpt4 key购买 nike

TryGetValue 是否改变输入参数?

在使用 TryGetValue 时,我倾向于这样做:

Dictionary<int, long> myDic;
long lValue = -1;
long lTemp1;

if( myDic.TryGetValue(100, out lTemp1)){
lValue = lTemp1;
}

我应该直接这样写吗?

myDic.TryGetValue(nKeyToLookup, out lValue);

最佳答案

作为documentation

When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter.

值会改变。

如果你想缩短你的代码,你可以这样做

Dictionary<int, long> myDic;

if( !myDic.TryGetValue(100, out var lValue))
{
lValue = -1;
}

更新

您可以编写一个自定义的 TryGetValue 扩展方法,它接受一个 ref TValue 值

public static class DictionaryExtensions
{
public static bool TryGetValue<TKey,TValue>( this IDictionary<TKey,TValue> dict, TKey key, ref TValue value )
{
var result = dict.TryGetValue( key, out var foundValue );
if ( result )
value = foundValue;
return result;
}
}

现场工作示例 .net fiddle

关于c# - 字典 TryGetValue 输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59890374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com